如何使用本机节点驱动程序在节点服务器上执行 mongo 查询字符串?

wem*_*eit 4 javascript mongoose mongodb node.js

我想将像“db.users.find()”这样的字符串传递给节点服务器并让它执行命令。这个问题:如何在本机 node-mongo-native 驱动程序中执行 MongoDB 查询?为 C 驱动程序提供了答案。

有没有办法直接使用本机节点驱动程序来完成此操作?我试过做

db.eval('function(){'+query+'}', function(err, result){
  console.log("the result is", result
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用。感谢您的帮助。

Joh*_*yHK 5

您已经很接近了,但是您创建的函数需要返回一些可用于回调的内容。例如:

var query = 'db.users.find()';
db.eval('function(){ return ' + query + '.toArray(); }', function(err, result){
  console.log("the result is", result);
});
Run Code Online (Sandbox Code Playgroud)