MongoDB数组或者对象数据查询


一、查询主键objectId

db.product.find({"_id",ObjectId("564e845ee4b0281c3f8fcf60")})

二、查询数组或者对象内容

使用$elemMatch匹配内数组内的元素

db.product.find({"parameSet":{"$elemMatch":{"564c408fe4b005ef3b0c1a69":"KFFF"}}})

等价于

db.product.find({"parameSet.564c408fe4b005ef3b0c1a69":"KFFF"})

其他:

帮助信息请访问

http://www.runoob.com/mongodb/mongodb-query.html

http://www.mongoing.com/


mongodb like查询


假如需要查找的字符串为"产品",则可以用db.tables.find({"name":/产品/}),
或者db.tables.find({"name":/^产品/}) ,
或者db.tables.find({"name":/产品.*/}),
或者db.tables.find({"name":/.产品.*/})


下面就分析下这几种查询的对应结果有什么不同:
1)db.product.find({"extra_data.region":/.外套.*/})
共112条记录:包含了【防水外套,防晒外套,防寒保暖外套。。。。】
【注:由结果可以看出所查字符前面必须有字符,相当于:db.product.find({"extra_data.region":/.外套./}),也相当于db.product.find({"extra_data.region":/.外套/})】
-----------------------------------------------------------------------------------------------------------
2)db.product.find({"extra_data.region":/^外套/})
共108条记录:包含了【外套装。。。。】
【注:由结果可以看出,此查询必须以所查字符开始】
-----------------------------------------------------------------------------------------------------------
3)db.product.find({"extra_data.region":/外套.*/})
共220条记录:记录包含了【防水外套。防晒外套,防寒保暖外套,外套装。。。。】
【注:由结果可以看出前面字符可以有也可以没有,相当于:db.product.find({"extra_data.region":/外套/})】
-----------------------------------------------------------------------------------------------------------
最后再分析下记录的结果,由上面三种查询可以看出,前两个查询的结果和正好等于最后一种的查询结果,这与注解完全符合。
---------------------------------------------------------------------------------------------------------------------------------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值