用于Node.js本地MongoDB的runCommand等效函数

6

我正在尝试在nodejs中利用MongoDB 2.4实验性文本搜索功能。唯一的问题是,据我所知,原生的nodejs mongo驱动程序似乎不支持集合级别的runCommand。

Mongo shell语法如下:

db.collection.runCommand( "text", { search : "Textvalue" } );

似乎有一个db.command / db.executeDbCommand函数,但我不知道如何选择一个集合并使用它运行文本命令(如果可能的话),因为它需要在集合级别而不是数据库级别上执行。

任何帮助将不胜感激。


你可以使用数据库级别的命令:db.runCommand({text:"collectionName", search: etc})。 - Asya Kamsky
在Node中,this.db.command({text:"collection" , search: "phrase" })没有返回任何内容。可能是语法有误。=/ - Glem
1个回答

15

通过利用Asya Kamsky的评论,我成功地使它工作了。

this.db.command({text:"collection" , search: "phrase" }).

问题在于它不像标准结果那样返回,因此 toArray() 调用失败了。相反,我直接将回调函数放在内部:

this.db.command({text:"collection" , search: "phrase" }, function(err, cb){ 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接