美文网首页MongoDB数据库
MongoDB日常工作记录

MongoDB日常工作记录

作者: AC编程 | 来源:发表于2022-01-21 10:54 被阅读0次

    一、模糊查询

    文档如下:

    {
        "_id": {
            "$oid": "6139dd9cff909b83c9633afc"
        },
        "ackid": "315c56d540c14acfb7f65fd8fd5faafa",
        "id": "1631182236919074660",
        "sid": "159190488252417_156192831766529",
        "sender": "159190488252417",
        "sendername": "Alan Chen",
        "mid": "156192831766529",
        "gid": "",
        "type": 0,
        "body": "{\"msg\":{\"isAddBlacklist\":false,\"isInvitation\":0,\"size\":4,\"totalCount\":0,\"type\":2,\"url\":\"https://www.jianshu.com/\"},\"timestamp\":1631182236843,\"type\":2}",
        "status": 0,
        "create_time": {
            "$numberLong": "1631182236920"
        },
         "tags" : [ "runoob" ]
    }
    
    1.1 文档字段模糊查询
    db.posts.find({sendername:{$regex:"Alan"}})
    

    以上查询也可以写为

    db.posts.find({sendername:/Alan/})
    
    1.2 模糊查询不区分大小写
    db.posts.find({sendername:{$regex:"alan",$options:"$i"}})
    
    1.3 子文档字段模糊查询

    目标:查询body属性里type为2的文档

    db.posts.find({body:{$regex:'\"type\":2'}})
    
    1.4 模糊查询数组元素
    db.posts.find({tags:{$regex:"run"}})
    

    二、判断字段是否存在

    {pretty_content_type:{"$exists":true}}
    

    三、数组size判断

    {topics:{$size:2}}
    

    四、建索引

    文档内容

    {
       "address": {
          "city": "Los Angeles",
          "state": "California",
          "pincode": "123"
       },
       "tags": [
          "music",
          "cricket",
          "blogs"
       ],
       "name": "Tom Benzamin",
       "gender": "1"
    }
    
    4.1 单个字段建索引
    db.users.createIndex({name:1})
    db.users.createIndex({gender:1})
    
    4.2 创建联合索引
    db.users.createIndex({gender:1,name:1})
    
    4.3 数组字段建索引
    db.users.createIndex({"tags":1})
    
    4.4 子文档字段建索引
    db.users.ensureIndex({"address.city":1,"address.state":1,"address.pincode":1})
    

    相关文章

      网友评论

        本文标题:MongoDB日常工作记录

        本文链接:https://www.haomeiwen.com/subject/zvlxxrtx.html