我是Mongo的新手,无法弄清楚这东西是如何工作的。首先,当我进行全文搜索时,我找不到任何地方如何做回调,这是mongo site的示例:
db.articles.find( { $text: { $search: "coffee" } } )
然后他们向您显示数据:
{ "_id" : 2, "subject" : "Coffee Shopping", "author" : "efg", "views" : 5 }
{ "_id" : 7, "subject" : "coffee and cream", "author" : "efg", "views" : 10 }
{ "_id" : 1, "subject" : "coffee", "author" : "xyz", "views" : 50 }
但是示例中的回调在哪里?到一天结束时,我出现了这段代码,它返回了结果,但没有返回查询结果,我得到了Cursor {}对象,如何与Cursor循环以获得结果?
database.collection(data.collection).find({$text: {$search: "whatever"}}, {score: {$meta: "textScore"}},function (error,results) {
What i do here?
console.log(results)
})
第二个问题,获得结果后如何按“ textScore”对它们进行排序?我无法将sort()放在函数的末尾,因为出现错误:
database.collection(data.collection).find({$text: {$search:"whatever"}}, {score: {$meta: "textScore"}},function (error,results) {
console.log(results)
}).sort({score:{$meta:"textScore"}});
但是我可以在没有回调的情况下对其进行排序,如下所示:
database.collection(data.collection).find({$text: {$search: "whatever"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}});
那么我该如何遍历光标并使它们同时排序呢? 希望你能帮我这个忙:) Thx