mongodb中根据内嵌文档中的条件查询
2017-06-23 18:15
375 查看
在写报用户订单报表的时候遇到了一个mongodb的查询问题,上网上也找了下资料,在这里记录一下
根据订单文档中的内嵌文档里的数据进行查询数据库
查询方法
在根据文档中单个数据查询的时候,只要使用字段名.内嵌文档的字段名:查询条件即可
那么问题来了,如果我需要查询整个文档怎么办呢? 需要使用 $elemMatch
上面代码就可以解决内嵌文档全匹配的问题
根据订单文档中的内嵌文档里的数据进行查询数据库
{ "_id" : ObjectId("594ce45c5592f529700ec248"), "holdInfo" : { "presentIncomeRate" : null, "availShare" : "10000.00", "saleChnlId" : "BEST_WX", "prodDueTime" : "30", "userId" : "201706210001090382", "prodIncomeRate" : "5.66", "repayDate" : "20170730", "YetPayIncome" : "0.00", "createDate" : "2017-06-23 17:48:49", "onTheWaySgAmt" : "0.00", "calIncomeShare" : "0.00", "prodCatId" : "02001", "totalShare" : "10000.00", "onTheWayShAmt" : "0.00", "status" : "1", "hStatus" : "00", "vendorId" : null, "noPayIncome" : "46.52", "standBy4" : "0.00", "totalIncome" : "0.00", "standBy3" : null, "standBy2" : null, "standBy1" : "00", "standBy5" : "0.00", "fpHoldId" : "CC15cd45aa7561" }, "prodCatId" : "02001", "txnType" : "30", "prodId" : "zdsjyz0622_03", "orderTime" : "2017-06-23 17:50:20", "normalIncome" : "46.52", "orderStatus" : "00", "isDelete" : "2", "txnNum" : "10000", "prodName" : "自动上架验证62203期",
查询方法
db.user_prod_trade_records.find({"prodId":"zdsjyz0622_03","holdInfo.userId":"201706210001090382");
在根据文档中单个数据查询的时候,只要使用字段名.内嵌文档的字段名:查询条件即可
那么问题来了,如果我需要查询整个文档怎么办呢? 需要使用 $elemMatch
db.user_prod_trade_records. find({"holdInfo":{"$elemMatch":{输入整个文档内容的}}}); 即可查询
上面代码就可以解决内嵌文档全匹配的问题
相关文章推荐
- C# mongodb中内嵌文档数组条件查询
- mongodb 对内嵌文档(数组) group分页查询,并设置查询条件
- mongodb 内嵌文档多条件查询($elemMatch)
- 学习MongoDB--(4-2):MongoDB查询(数组、内嵌文档和$where)
- mongodb 查询结果保存为结果集以及根据条件导出数据
- mongoDB内嵌文档查询
- MongoDB查询内嵌文档
- MongoDB内嵌文档查询
- 【MongoDB学习笔记18】MongoDB的查询:find查询内嵌文档
- MongoDB 内嵌文档查询
- mongodb查询内嵌文档
- MongoDB——$elemMatch(内嵌文档查询匹配)
- morphia查询mongodb内嵌文档-数组查询$elemMatch|hasThisElement实例
- mongodb内嵌文档的查询
- Spring data mongodb ObjectId ,根据id日期条件查询,省略@CreatedDate注解
- MongoDB查询(数组、内嵌文档和$where)
- Mongodb内嵌文档的查询
- morphia查询mongodb内嵌文档
- mongodb数组与内嵌文档查询
- mongodb 3.x 客户端开发四:golang根据条件过滤查询mongodb集合数据