• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

C# 构建Mongodb过滤条件

武飞扬头像
yuanpan
帮助1

以Eq,ElemMatch为例,假如一个document中有a,b,clist三个字段,clist为一个array类型的document,现在想要查询a=11,b=22并且clist中的riqi为2020-10-2的数据写法

1、强类型写法

1

2

3

4

5

FilterDefinition<Test> filterDefinition = filterDefinitionBuilder.And(

                    filterDefinitionBuilder.Eq(r => r.a, 11),

                    filterDefinitionBuilder.Eq(r => r.b, 22),

                    filterDefinitionBuilder.ElemMatch(r => r.clist,

                        r => riqi == '2020-10-2'));

2、非强类型写法

1

2

3

4

5

6

7

8

FilterDefinitionBuilder<BsonDocument> filterDefinitionBuilder = new FilterDefinitionBuilder<BsonDocument>();

                FieldDefinition<BsonDocument> fieldDefinition = "clist";

                FilterDefinitionBuilder<BsonDocument> filterDefinitionZiBuilder = new FilterDefinitionBuilder<BsonDocument>();

                FilterDefinition<BsonDocument> filterDefinition = filterDefinitionBuilder.And(

                    filterDefinitionBuilder.Eq("a", 11),

                    filterDefinitionBuilder.Eq("b", 22),

                    filterDefinitionBuilder.ElemMatch(fieldDefinition, filterDefinitionZiBuilder.Eq("riqi""2020-10-2")));

                 

3、也可以直接使用mongo语句

1

FilterDefinition<BsonDocument> filter = @"{""a"":11,""b"":22,""clist"": { ""$elemMatch"": { ""riqi"": ""2020-10-2""} } }";

  

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcgjjh
系列文章
更多 icon
同类精品
更多 icon
继续加载