gpt4 book ai didi

MongoDB - 检查对象数组中是否存在键

转载 作者:行者123 更新时间:2023-12-04 13:18:01 27 4
gpt4 key购买 nike

我有收藏BookingDetails有以下记录:

    {
"code" : "TICKET1234",
"orderDetails" : [
{
"cost": 150.0,
"movieName": "avengers"
}
]
},
{
"code" : "TICKET1235",
"orderDetails" : [

]
}

需要检查是否 orderDetails.MovieName投影层上是否存在。我试过下面的查询,它没有帮助。
    db.BookingDetails.aggregate([
{
$project: {
OrderExists: {
$cond: [
{ $ne: ["$orderDetails.0.movieName", null] },
1, 0
]
}
}
}
])

我不能用 $exists在 $cond.我试过 $ifNull以及。需要你对此的想法。

最佳答案

您可以使用以下聚合

db.collection.aggregate([
{ "$project": {
"OrderExists": {
"$cond": [{ "$ne": [{ "$ifNull": [{ "$arrayElemAt": ["$orderDetails.movieName", 0] }, null] }, null] }, 1, 0]
}
}}
])

关于MongoDB - 检查对象数组中是否存在键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58011210/

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