mongodb11天之屠龙宝刀(四)高级查询:MongoDB内嵌字段查询

时间:2022-05-04
本文章向大家介绍mongodb11天之屠龙宝刀(四)高级查询:MongoDB内嵌字段查询,主要内容包括实战环境、查询操作、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

mongodb11天之获取屠龙宝刀(四)高级查询:MongoDB内嵌字段查询

实战环境

IDE:nosql manager for mongodb 表:jd_final_xiecheng_10_15 表结构如下:

查询操作

1.查询表,并limit

db.jd_final_xiecheng_10_15.find({}).limit(10)

2.选择字段

db.jd_final_xiecheng_10_15.find({_id:9},{xiecheng:1,_id:0}).limit(10)

不同的执行效果如下:

1选择字段,0放弃字段

去除_id

前面的{_id}选择后,后面仍可执行

注意不能互换{}{}位置

MongoDB嵌套查询 1.至查询单个键值 针对内嵌文档的特定键值进行查询如下: 需要匹配嵌套文档中的某个特定键值即可。

db.jd_final_xiecheng_10_15.find({"xiecheng.province":"吉林省"})

2.查询键值包含的所有键值 必须在查询条件中必须写出以xiecheng为键的所有值。 如果将键值”lng_lat” : “117.147108642,35.7933387756”, 替换成 “lng_lat” : 1是不支持的,必须{},{key=1}这种才行

db.jd_only1.find({"xiecheng":{"lng_lat" : "117.147108642,35.7933387756", "province" : "山东省", "sname" : "石门山", "from" : "xiecheng", "district" : "宁阳县", "parent" : "山东 济宁 曲阜景点", "city" : "泰安市", "adcode" : "370921", "address" : "济宁市曲阜市石门山镇(曲阜城东北30公里处)", "_id" : "xc4980", "desc" : "None" }})