Arrays 从mongoose中的数组对象中选择特定项
我有一个mongoDB对象,比如:Arrays 从mongoose中的数组对象中选择特定项,arrays,mongodb,mongoose,mongodb-query,aggregation-framework,Arrays,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,我有一个mongoDB对象,比如: [ { "items": [ { "title": "hello", "options": [ { "value": "A", "image": "img1",
[
{
"items": [
{
"title": "hello",
"options": [
{
"value": "A",
"image": "img1",
"des": "des1"
},
{
"value": "B",
"image": "img2",
"des": "des2"
},
]
}
]
}
]
当我从集合中检索数据时,我只想从项
数组的选项
中检索值
键
输出应如下所示:
{
"items":[
{
"options" :[
{ "value" :"A" },
{ "value" :"B" },
]
}
]
}
我该怎么做?您可以这样做:
db.collection.find({}, { "items.options.value": 1})
db.collection.aggregate([
{
"$project": {
"items.options.value": 1
}
}
])
以下是工作示例:
或者你可以这样做:
db.collection.find({}, { "items.options.value": 1})
db.collection.aggregate([
{
"$project": {
"items.options.value": 1
}
}
])
下面是一个工作示例:使用投影
{“items.options.value”:1}
查看更多信息。turivishal
如果指定查询,将对我有所帮助。Thanksit是一样的,你可以根据我的评论使用投影,如果你想使用聚合,然后看看你是否在评论中看到附加的链接,它很容易使用,只需按照文档中的说明操作即可。这不难理解,我想你只需要使用{“items.options.value”:1}
投影简单。好的,我正在尝试