gpt4 book ai didi

MongoDB - 检查文档中的字段是否存在值

转载 作者:IT老高 更新时间:2023-10-28 13:24:27 25 4
gpt4 key购买 nike

我有一个集合,其中的文档如下所示:

/* 0 */

{
"_id" : ObjectId("5320b1c723bc746084fa7107"),
"channels" : [
3,
4
]
}


/* 1 */

{
"_id" : ObjectId("5320b1c723bc746084fa7107"),
"channels" : [ ]
}

我想形成一个查询,以便我想要 channel 具有某些值且不为空的所有文档。

我试过了:

db.event_copy.find({"channels":{$exists:true}})

但这仍然会给我返回 channel 中没有值的文档。

最佳答案

您需要 $size运算符(operator)。要查找包含 no 元素的内容,请执行以下操作

db.collection.find({ channels: {$size: 0} })

如果你知道你有一个固定的大小,那就这样做

db.collection.find({ channels: {$size: 2} })

否则用 $not 反转

db.collection.find({ channels: {$not:{$size: 0}} })

您可以与 $and 结合使用:

db.collection.find({ $and: [ 
{ channels: {$not:{$size: 0}} },
{ channels: {$exists: true } }
]})

关于MongoDB - 检查文档中的字段是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367335/

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