gpt4 book ai didi

node.js - 无法使用 Mongoose 在 NodeJS 中使用 $ 或查询

转载 作者:可可西里 更新时间:2023-11-01 10:32:59 25 4
gpt4 key购买 nike

我有一个 NodeJS 应用程序,它有一个函数,它接受一个 id 并从我的 MongoDB 数据库返回一个与所述 id 相对应的对象。 id可以匹配到我模型中的_id(ObjectID)或external_id(字符串),为什么我要过滤掉id等于_id或等于external_id的对象。我写了这段代码,但是当我在 NodeJS 中运行它时它似乎不起作用,但是如果我在终端的 mongo 中尝试它它工作正常:

myModel.findOne({$or: [{_id: my_id}, {external_id: my_id}]}, function (err, model) {
...
});

由于它在终端中工作,我猜这两个模型对象的不同类型可能存在问题,但我无法弄清楚。 my_id 是一个字符串。

感谢您的任何建议。马蒂亚斯

最佳答案

find 实际上会返回一个游标,即使只有一条记录匹配,您也需要遍历游标,试试这个:

myModel.find({$or: [{_id: my_id}, {external_id: my_id}]}).nextObject(function (err, model) {
...
}

关于node.js - 无法使用 Mongoose 在 NodeJS 中使用 $ 或查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com