我很难将工作的MongoDB查询转换为C#驱动程序的非类型化等价物。查询:
{
"Field" : { "$elemMatch" : { "$in" : ["Hamster"]}}
}我所拥有的:
Query.ElemMatch("Field", Query.In("", new BsonArray(new[] { "Hamster" })));它产生:
{
"Field" : { "$elemMatch" : { "" : { "$in" : ["Hamster"] }}}
}这非常接近,但我不知道如何从$in查询中删除名称。
发布于 2014-03-05 02:45:59
这似乎是有可能的,但以helper方法的结构方式,我看不出直接构建该查询的简单方法。
重新创建所需查询的唯一方法是执行以下更改:
var queryDocument = QueryDocument.Parse("{\"$in\" : [\"Hamster\"]}");
var nestedQueryDocument = Query.ElemMatch("Field", new QueryDocument(queryDocument));创建以下输出
{
"Field" : { "$elemMatch" : { "$in" : ["Hamster"]}}
}不过,这不是最优雅的解决方案。
https://stackoverflow.com/questions/22176263
复制相似问题