我用mongodb來取集名爲froggers的集合,但我不知道名爲query.who的變量的意思,可以解釋我函數的含義查詢在我的代碼中是什麼意思
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);
});
});
});
};
'query'只是一個對象,可能會保持空白,或者獲取具有特定用戶名的屬性'user'以查找分配。然後這個對象被用作查詢數據庫的「過濾器」。如果它是空的,'collection.find(query)'將返回所有記錄,並且如果它有一個用戶設置,它將只返回'user'值與給定記錄匹配的記錄。 – CBroe