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模板导入外部js和css等文件
    django 快速搭建blog
    JS定时器的使用--延时提示框
    JS定时器的使用--数码时钟
    JS定时器的使用--无缝滚动
    初探JavaScript魅力(五)
    初探JavaScript魅力(四)
    初探JavaScript魅力(三)
    初探JavaScript魅力(二)
    PHP正则表达式
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/14296929.html
Copyright © 2011-2022 走看看