我有一个名为test_collection的集合,其中包含类型对象的数组。
{
"_id": {
"oid": "5ad86741af82eb3204c52979"
},
"id": 100,
"names": [
{
"_id": {
"oid": "5ad86741af82eb3204c5297b"
},
"_type": "Name",
"date": {
"date": "2018-04-19T00:00:00.000Z"
}
}
],
"addresses": [
{
"_id": {
"oid": "5ad86741af82eb3204c52989"
},
"_type": "Address"
}
],
"details": [
{
"_id": {
"oid": "5ad86742af82eb3204c529d3"
},
"_type": "Detail",
"date": {
"date": "2018-04-19T00:00:00.000Z"
}
}
],
"info": [
{
"_id": {
"oid": "5ad86742af82eb3204c529d3"
},
"_type": "info",
"date": {
"date": "2018-04-19T00:00:00.000Z"
}
}
],
"test": [
{
"_id": {
"oid": "5ad86742af82eb3204c529d3"
},
"_type": "test",
"date": {
"date": "2018-04-19T00:00:00.000Z"
}
}
]
}
我将如何编写查询来从记录中提取唯一的特定数组字段。
就像我只想从此记录中提取测试和信息数组一样。
我在下面尝试过
db.test_collection.find({info :{$exists: true },test:{$exists: true}})
它给出了包含这两个字段的所有记录。