mongoplayground
中进行测试https://mongoplayground.net/p/c3UBL9JwX5u
{
_id: "5df1e6f75de2b22f8e6c30e8",
t: [
{ name: "d1", tt: false },
{ name: "d2", tt: true }
]
}
db.coll.find({
"t": {
$ne: {
"name": {
$regex: "d1",
$options: "g"
},
"tt": true
}
}
})
我得到了错误的答案,那么如何获得期望的结果呢?谢谢!
t.name
包括'd1'和t.tt
!= true t.name
不包含“ d1” 1 or 2
。答案 0 :(得分:0)
https://mongoplayground.net/p/CnGnSmRzXCB
db.coll.find({
$or: [
{
"t": {
$elemMatch: {
name: {
"$regex": "^d1$|d1"
},
tt: false
}
}
},
{
"t": {
$not: {
$elemMatch: {
name: {
$regex: "d1"
},
}
}
}
}
]
})