【发布时间】:2019-12-11 14:25:05
【问题描述】:
我正在尝试在 Mongo 集合中查找包含最小值的文档,然后更新其状态。
这是我的收藏。该集合中可能包含更多文档。在这个例子中,我只会给你 3 个文档。
{
"_id" : ObjectId("5d44f733fa2a2f021dbbd2d6"),
"userId" : ObjectId("5d3b4766e14bc7085e74c4e7"),
"items" : 13,
"status" : 2,
"__v" : 0
},
{
"_id" : ObjectId("5d44f76efa2a2f021dbbd2d7"),
"userId" : ObjectId("5d3b4766e14bc7085e74c4e7"),
"items" : 10,
"status" : 2,
"__v" : 0
},
{
"_id" : ObjectId("5d44f76efa2a2f021a5b64d"),
"userId" : ObjectId("5d3b4766e14bc7085e74c4e7"),
"items" : 15,
"status" : 2,
"__v" : 0
}
我想查找具有最少项目数量的文档的状态并将其更新为1,在本例中是包含 10 个项目的第二个文档。
有没有办法只使用一个查询来做到这一点?我一直在尝试使用findOneAndUpdate 使用选项sort 来做到这一点,但它不起作用。这似乎不是一个有效的查询。
有什么想法吗?
【问题讨论】:
-
你想如何更新值?通过查询或使用代码?如果使用代码提及语言绑定
标签: mongodb sorting mongoose find