[英]mongodb query into javascript function
我想做的是編寫一個JavaScript函數來訪問.js
文件中的已定義articles
架構。
我已經確定以下查詢可在mongodb終端中工作:
db.articles.ensureIndex( { "comments.user_id" : 1 } )
db.articles.find( { "comments.user_id" : 987654 } ) // returns all document fields, meaning X and Y including comments
db.articles.find( { "comments.user_id" : 987654 },
{ "title" : 1, "comments.user_id" : 1 }) //some trimming
javascript函數的目的是檢索特定用戶的所有注釋,我的下面嘗試與上面的mongodb查詢相對應嗎? 樣式,語法是否被視為良好做法?
exports.allCommentsByUser = function(userId){
db.articles.ensureIndex({"comments.user_id" : 1})
var allComments = db.articles.find({"comments.user_id" : userId},
{ "title" : 1, "comments.user_id" : 1 });
return allComments;
}
問:此外,如何將上述javascript函數轉換為閉包函數?
注意:我使用mongoose
作為包裝
那是行不通的,因為allComments
是Mongoose Query
對象,而不是結果。 您需要在allCommentsByUser
方法中添加一個回調參數,異步find
調用完成后,該方法將用於將結果提供回調用方。
exports.allCommentsByUser = function(userId, callback){
db.articles.find(
{"comments.user_id" : userId},
{ "title" : 1, "comments.user_id" : 1 },
callback);
};
該方法的用法:
x.allCommentsByUser(userId, function (err, articles) {
if (err) {
console.error(err);
} else {
console.log(articles);
}
});
不知道第二個問題是關於“關閉功能”的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.