sql >> データベース >  >> NoSQL >> MongoDB

mongoでIDまたはユーザー名で検索

    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. Mongoでサブドキュメントを整理する最良の方法は?

    2. Redisでネストされたオブジェクトを操作しますか?

    3. BASHBSONパーサー

    4. mongodb c#ドライバーでDateTimeSerializationOptions.Defaultsを設定する新しい方法は何ですか?