如何使用 Mongo Projections 排除数组的字段

问题描述 投票:0回答:1

我有一个要在 mongo 投影中排除的字段列表。使用 mongo 投影中的 except() 方法,我能够检索排除指定值的数据。

// My list of fields to exclude 
val fieldList = List("Date", "People")

// the projection
val excludeStuff: Bson = Projections.exclude(fieldList.asJava)

但是,现在我只想排除“People”数组字段的“Name”字段:

例如

"Type" : "Green",
"Date" : "2022-10-21",
"People" : [{
  "RSVP": "Yes",
  "Name": "Peter"
},
{
  "RSVP": "No",
  "Name": "Pan"
},
]

将变成:

{
  "Type" : "Green"
}

但我需要:

"Type" : "Green",
"People" : [{
  "RSVP": "Yes"
},
{
  "RSVP": "No"
}
]

有什么想法吗?谢谢!

我已经尝试过这篇文章:Mongo 如何在嵌套数组中排除嵌套_id

但是我需要将投影规范放在列表中,那么我该怎么做:

val fieldList = List("Date", "People.Name???")
mongodb scala mongodb-query projection
1个回答
0
投票

您需要将数组的排除属性参考:https://mongoplayground.net/p/NwEpwQlJe2g

db.collection.find({}, { 日期: 0, _id: 0, “人.RSVP”:0 })

© www.soinside.com 2019 - 2024. All rights reserved.