关闭

MongoDB数组或者对象数据查询

标签: mongodb
959人阅读 评论(0) 收藏 举报
分类:


一、查询主键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":/外套/})】
-----------------------------------------------------------------------------------------------------------
最后再分析下记录的结果,由上面三种查询可以看出,前两个查询的结果和正好等于最后一种的查询结果,这与注解完全符合。
---------------------------------------------------------------------------------------------------------------------------------


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23241次
    • 积分:504
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:14篇
    • 译文:0篇
    • 评论:2条
    文章分类