我有一个JS应用程序,其中有一个mongodb驱动程序。连接到它之后,我尝试运行
const result = await db.command(eval(commandString));
以便从字符串运行不同类型的命令到我的数据库中,例如:
db.collection(“users”).updateOne(
{
name: “Rodrigo”
},
{
$set: {
age: 24
}
}
)
当我触发时,查询在数据库中正确执行,文档更新,但Mongo服务器接收
服务器错误:未找到命令
我想摆脱这个错误消息,只想让查询成功执行。
我试过运行不同的命令,但它们都有相同的行为。
1条答案
按热度按时间jmp7cifd1#
db.command()
方法找不到您尝试执行的命令,因为它不是有效的MongoDB命令。仅供参考,MongoDB中的eval()
方法已弃用。从版本4.2开始,MongoDB删除了eval命令。 Package eval命令的已弃用的db.eval()只能在MongoDB 4.0或更早版本上运行。有关行为和示例,请参阅4.0或更早版本的手册。https://www.mongodb.com/docs/v4.2/reference/method/db.eval/
您应该使用MongoDB驱动程序为Node.js提供的适当方法: