MongoDB内嵌文档查询
  M4jFg8P4bdk8 2023年11月02日 26 0


内嵌文档查询包括两种情况


  • 查询整个内嵌文档,当内嵌文档键值对的数量以及键值对的顺序都相同时,才会匹配
  • 查询文档的某个字段,需要使用.号操作符



实例


var db = connect("localhost:27017/test"); 
    
    db.col.drop();
    
    var bulk = db.col.initializeUnorderedBulkOp();
    
     
    
    //测试数据
    
    var doc1= 
    
            {
    
               "name":"xiaoli",
    
               "age":20,
    
               "address":
    
               {
    
                  "province":"GuangDong",
    
                  "city":"ShenZhen"      
    
               }
    
            }
    
    bulk.insert(doc1);
    
     
    
    var doc2= 
    
            {
    
               "name":"xiaoqiang",
    
               "age":22,
    
               "address":
    
               {
    
                  "city":"ShenZhen",      
    
                  "province":"GuangDong"
    
                }
    
            }
    
     
    
    bulk.insert(doc2);
    
     
    
    //下面执行插入操作
    
    bulk.execute()
    
     
    
    print("========find--内嵌文档查询(查询整个子文档) ========")
    
    var cursor = db.col.find(
    
                        {  
    
                            "address":
    
                            { 
    
                                 "province":"GuDong"
    
                            }
    
                        });
    
    printjson( cursor.toArray() );
    
    

    
    var cursor = db.col.find(
    
                         {  
    
                             "address":
    
                             { 
    
                                 "province":"GuangDong",
    
                                 "city":"ShenZhen" 
    
                             }
    
                         });
    
    printjson( cursor.toArray() );
    
     
    
    print("========find--内嵌文档查询 (查询字段) ========")
    
    var cursor = db.col.find(
    
                          {  
    
                             "address.city":"ShenZhen"
    
                          })
    
    printjson(cursor.toArray());



运行结果:

C:\>mongo --quiet find_embedded.js
    
    ========find--内嵌文档查询(查询整个子文档) ========
    
    [ ]
    
    [
    
            {
    
                    "_id" : ObjectId("56e6a70060f9d7972921a204"),
    
                    "name" : "xiaoli",
    
                    "age" : 20,
    
                    "address" : {
    
                            "province" : "GuangDong",
    
                            "city" : "ShenZhen"
    
                    }
    
            }
    
    ]
    
    ========find--内嵌文档查询 (查询字段) ========
    
    [
    
            {
    
                    "_id" : ObjectId("56e6a70060f9d7972921a204"),
    
                    "name" : "xiaoli",
    
                    "age" : 20,
    
                    "address" : {
    
                            "province" : "GuangDong",
    
                            "city" : "ShenZhen"
    
                    }
    
            },
    
            {
    
                    "_id" : ObjectId("56e6a70060f9d7972921a205"),
    
                    "name" : "xiaoqiang",
    
                    "age" : 22,
    
                    "address" : {
    
                            "city" : "ShenZhen",
    
                            "province" : "GuangDong"
    
                    }
    
            }
    
    ]
    
    
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  tEcohMEyDsEb   2023年11月02日   96   0   0 JSON跨域上传图片
M4jFg8P4bdk8