假设我在某些收藏夹中有以下文件
[{
"name": "Man1",
"Childrens": [
{
"name": "Children 1",
"age": "12"
},
{
"name": "Children 2",
"age": "18"
},
]
},
{
"name": "Man1",
"Childrens": [
{
"name": "Children 3",
"age": "12"
},
{
"name": "Children 4",
"age": "18"
},
]
}
]
我想获取其中一个孩子的名字是“ Children 1”的文件
我想通过.net mongo驱动程序实现此目标
var bQuery = String.Format("{{ '{0}':'{1}' }}","Childrens.name","Children 1");
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bQuery);
result = await db.GetCollection<T>(collectionName).Find<T>(filter).ToListAsync();
但此返回空列表 我好像在哪里
var bQuery = String.Format("{{ '{0}':'{1}' }}","name","Man1");
有效
所以当我们通过嵌套属性搜索时,我无法使其工作
答案 0 :(得分:1)
请尝试使用以下代码,并且我已经成功测试:
npm i node-opus
您的代码为:
{ "Childrens": { $elemMatch: { "name": "Children 1"} } }