gpt4 book ai didi

json - 查找数组中所有对象都具有特定值的文档

转载 作者:可可西里 更新时间:2023-11-01 10:08:21 24 4
gpt4 key购买 nike

我在 MongoDB 中有以下文档:

{
name: "document1",
data: [{
name: "xxxxx",
status: "delivered"
},{
name: "xxxxx",
status: "In Process"
},{
name: "xxxxx",
status: "Not Started"
}]
},{
name: "document2",
data: [{
name: "xxxxx",
status: "delivered"
},{
name: "xxxxx",
status: "delivered"
},{
name: "xxxxx",
status: "delivered"
}]
}

我想找到“数据”数组中的所有对象都具有状态“已交付”的所有文档,我以前使用 $ne: 'Not Started',但现在有更多状态选项已经介绍过了,这个不行。或许我可以做一个 $ne: $and 并包括所有否定选项,但任何新状态都会产生问题。

最佳答案

您可以将 $not$elemMatch 一起使用

db.collection.find({
"data": {
"$not": {
"$elemMatch": {
"status": {
$ne: "delivered"
}
}
}
},
"data.status": "delivered"
})

这是 fiddle https://mongoplayground.net/p/digdoFC6yF0

关于json - 查找数组中所有对象都具有特定值的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707128/

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