0

mongodb を使用して、froggers という名前のコレクションを取得していますが、query という名前の変数の意味がわかりません。関数の意味を説明してくれる人がいます。

exports.get = function get(username, callback) {
  mongodb.open(function(err, db) {
    if (err) {
      return callback(err);
    }
    // 获取 froggers 集合
    db.collection('froggers', function(err, collection) {
      if (err) {
        mongodb.close();
        return callback(err);

      // 查找 user 属性为 username 的文档,如果 username 是 null 则匹配全部
      var query = {};
      if (username) {
        query.user = username;
      }
      collection.find(query).sort({time: -1}).toArray(function(err, docs) {
        mongodb.close();
        if (err) {
          callback(err, null);
        }
        // 封裝 froggers 为 Frogger 对象
        var froggers = [];   //定义frogger数组对象

        docs.forEach(function(doc, index) {
          var frogger = new Frogger(doc.user, doc.post, doc.time);
          froggers.push(frogger);
        });
        callback(null, posts);
      });
    });
  });
};
4

1 に答える 1

0

クエリ変数は、フィールド user を含むオブジェクトです。そのフィールドはユーザー名変数の値を取得します。collection.query 関数に適合するように作成されました。これで、このクエリはすべてのコレクションをフェッチします。クエリがストラトするuser = username. 場合:username='albert'

collection.find({user:'alebrt'})

…………

于 2013-05-22T09:26:58.873 に答える