首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时使用$in和$elemMatch的C#驱动程序

同时使用$in和$elemMatch的C#驱动程序
EN

Stack Overflow用户
提问于 2014-03-04 15:35:12
回答 1查看 554关注 0票数 0

我很难将工作的MongoDB查询转换为C#驱动程序的非类型化等价物。查询:

代码语言:javascript
复制
{
    "Field" : { "$elemMatch" : { "$in" : ["Hamster"]}}
}

我所拥有的:

代码语言:javascript
复制
Query.ElemMatch("Field", Query.In("", new BsonArray(new[] { "Hamster" })));

它产生:

代码语言:javascript
复制
{
    "Field" : { "$elemMatch" : { "" : { "$in" : ["Hamster"] }}}
}

这非常接近,但我不知道如何从$in查询中删除名称。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 02:45:59

这似乎是有可能的,但以helper方法的结构方式,我看不出直接构建该查询的简单方法。

重新创建所需查询的唯一方法是执行以下更改:

代码语言:javascript
复制
var queryDocument = QueryDocument.Parse("{\"$in\" : [\"Hamster\"]}");
var nestedQueryDocument = Query.ElemMatch("Field", new QueryDocument(queryDocument));

创建以下输出

代码语言:javascript
复制
{
    "Field" : { "$elemMatch" : { "$in" : ["Hamster"]}}
}

不过,这不是最优雅的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22176263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档