mongodb 内嵌文档多条件查询($elemMatch)

引子

最近,工作上需要对内嵌文档进行多条件查询,所以用到了“$elemMatch”,花了很大精力终于也算初步弄明白了“$elemMatch”的用处。所以在这里记下一些新的。

$elemMatch用法

“$elemMatch”用于对内嵌文档进行多条件查询。

数据结构:
这里写图片描述

mongodb原生用法:

{ "partnerList" : 
    { "$elemMatch" : 
        { "_id" : "oWIhatzfn87FnMWh5XJkB2zCUUMI" , "status" : 1}
    }
} 

mongodb java 用法:

    BasicDBObject value2 = new BasicDBObject(); 
    value2.put("_id", openid);
    value2.put("status", ActivityPartner.AGREE);
    DBObject dbObj2 = new BasicDBObject("partnerList",new BasicDBObject("$elemMatch", value2));

“partnerList”:外部文档中存放内嵌文档的字段。
“_id、status”:内嵌文档的字段

扩展

在处理问题的过程中发现了另外一个问题,“ elemMatch or”等的查询条件是不一样的

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值