我有一个 NodeJS 应用程序,它带有一个函数,该函数接受一个 id 并从我的 MongoDB 数据库中返回一个与所述 id 相对应的对象。id 可以与模型中的 _id (ObjectID) 或 external_id (string) 匹配,为什么我要过滤掉 id 等于 _id 或等于 external_id 的对象。我编写了这段代码,但是当我在 NodeJS 中运行它时它似乎不起作用,但是如果我在终端的 mongo 中尝试它,它就可以正常工作:
myModel.findOne({$or: [{_id: my_id}, {external_id: my_id}]}, function (err, model) {
...
});
由于它在终端中工作,我猜这两个模型对象的不同类型可能存在问题,但我无法弄清楚。my_id 是一个字符串。
感谢您的任何建议。马蒂亚斯