MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Намерете по идентификатор или потребителско име в mongo

Най-вероятно първата ви заявка няма да работи, защото MongoDB очаква този _id е ObjectId, а не низ (който req.params.id вероятно е):

var ObjectId = require('mongoose').Types.ObjectId;

exports.getUser = function (req, res) {
  var id  = req.params.id;
  var $or = [ { username : id } ];

  // Does it look like an ObjectId? If so, convert it to one and
  // add it to the list of OR operands.
  if (ObjectId.isValid(id)) {
    $or.push({ _id : ObjectId(id) });
  }

  User.find({ $or : $or }).exec(function (err, collections) {
    // TODO: check for errors
    res.send(collections);
  });
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да десериализирате json документ, получен от mongoDB, в POJO?... (Мигриране от Morphia към Java Mongo Driver 3.0)

  2. Неуспешно удостоверяване при опит за запазване в mongodb

  3. редки индекси и нулеви стойности в mongo

  4. Времето за изчакване на връзката изтича след надграждане на MongoDB.Driver от 2.7.0 на 2.7.1

  5. Как да преместите елемент в MongoDB масив?