sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongooses hittametod med $or condition fungerar inte korrekt

Jag löste det genom att googla:

var ObjectId = require('mongoose').Types.ObjectId;
var objId = new ObjectId( (param.length < 12) ? "123456789012" : param );
// You should make string 'param' as ObjectId type. To avoid exception, 
// the 'param' must consist of more than 12 characters.

User.find( { $or:[ {'_id':objId}, {'name':param}, {'nickname':param} ]}, 
  function(err,docs){
    if(!err) res.send(docs);
});


  1. vänta på att alla löften ska avslutas i nodejs med bluebird

  2. Konsekvent hashing som ett sätt att skala skrivningar

  3. Vad är __v-fältet i Mongoose

  4. Lua script och redis - hur man testar för Inget värde