zoukankan      html  css  js  c++  java
  • C# 构建Mongodb过滤条件-4

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

    1、强类型写法

    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、非强类型写法

    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语句

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

      

    1、建了一个小群:616945527(软件), 欢迎大家加入,加群口令abc123,硬件嵌入式开发者推荐75764412(单片机)。
    闲置域名www.nsxz.com出售(等宽等高字符四字域名,可组合多种有意义词语)。
  • 相关阅读:
    django regroup的相关知识点
    python学习
    python os的一点心得
    python字符串替换的2种有效方法
    python的缩进格式真的不好吗?
    django的哲学很耐人回味
    python 抓取网页的方法
    分享一点python 编码设置的知识
    python apply的一点知识
    今天休息真舒服
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/14296929.html
Copyright © 2011-2022 走看看