一、模糊查询
文档如下:
{
"_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})
网友评论