MongoDB数据库

MongoDB日常工作记录

2022-01-21  本文已影响0人  AC编程

一、模糊查询

文档如下:

{
    "_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})
上一篇 下一篇

猜你喜欢

热点阅读