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

Najít podle ID nebo uživatelského jména v mongo

Váš první dotaz s největší pravděpodobností nebude fungovat, protože MongoDB očekává _id je ObjectId, nikoli řetězec (který req.params.id pravděpodobně je):

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. Proč je výstraha definována a o dva řádky později to není (Meteor)?

  2. MongoDB® s Hadoopem a souvisejícími technologiemi Big Data

  3. $near vyžaduje bod geojson, daný bod geojson

  4. MongoDB Nedostatek volného místa pro soubory deníku