所以,我一直在努力寻找我的问题的正确答案,即使有些问题 come pretty close ,我不确定其中任何一个是否适用于我的特定情况:
我有一个不断被提供信息的 MongoDB,我想查询最新文档,但指定一个过滤器:
return new Promise((resolve, reject) => {
model.findOne({ bar: "foo" }, {}, { sort: { n: -1 } }, function(
err,
obj
) {
resolve(obj);
});
});
上面的代码没有实现我想要正确执行的操作...我的猜测是它首先查找带有键 bar/值 foo 的文档,然后对结果进行排序,因为“结果”实际上只是一个结果,它本身对“无”进行排序,因此返回在数据库中找到的第一个“foo”文档。
数据库有很多'foo'文档,我想查询最新的。
提前致谢。
最佳答案
我猜你打算在 bar 键处获取包含 foo 的最新文档,因此这将返回最新文档。
return new Promise((resolve, reject) => {
model.findOne({ bar: "foo" }, {}, { sort: { '_id': -1 } }, function(
err,
obj
) {
resolve(obj);
});
});
关于node.js - Nodejs : Mongoose find latest entry of the DB with filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47291053/