sql >> Databáze >  >> NoSQL >> MongoDB

Metoda Mongoose find s $or podmínkou nefunguje správně

Vyřešil jsem to přes googlování:

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. Monitorování databáze bez agenta pomocí ClusterControl

  2. Objekt dokumentu MongoEngine vytvořený pomocí from_json se neuloží

  3. Redis :Jak nastavit, aby se jeden klíč rovnal hodnotě jiného klíče?

  4. MongoDB:Jak získat odlišný seznam hodnot polí dílčího dokumentu?