MongoDB基础--查询、索引与聚合

1,初始化数据库,插入数据:
  1. doc=({"name": "peter", "position": "teacher"})
  2. { "name" : "peter", "position" : "teacher" }
  3. > db.shiyanlou.insert(doc)
  4. > doc1=({"name": "tom", "position": "student"})
  5. { "name" : "tom", "position" : "student" }
  6. > db.shiyanlou.insert(doc1)
2,查询语句: db.collection_name.find(param):
  1. > db.shiyanlou.find()
  2. { "_id" : ObjectId("5559d1cca30df8c25bf44dd7"), "name" : "peter", "position" :
  3. "teacher" }
  4. { "_id" : ObjectId("5559d1e9a30df8c25bf44dd8"), "name" : "tom", "position" : "
  5. student" }
  6. >
    -1,条件操作符:
    
  • (>) 大于 - \$gt #greate
  • (<) 小于 - \$lt #low
  • (>=) 大于等于 - \$gte #equal
  • (<= ) 小于等于 - \$lte
    -2,type 
  • 双精度型-1
  • 字符串-2
  • 对象-3
  • 数组-4
  • 二进制数据-5
  • 对象ID-7
  • 布尔类型-8
  • 数据-9
  • 空-10
  • 正则表达式-11
  • JS代码-13
  • 符号-14
  • 有作用域的JS代码-15
  • 32位整型数-16
  • 时间戳-17
  • 64位整型数-18
  • Min key-255
  • Max key-127

  1. db.shiyanlou.find({"name": {$type:2}})
  2. { "_id" : ObjectId("5559d1cca30df8c25bf44dd7"), "name" : "peter", "position" :
  3. "teacher" }
  4. { "_id" : ObjectId("5559d1e9a30df8c25bf44dd8"), "name" : "tom", "position" : "
  5. student" }
-3,limit : 读取指定数量的记录
  1. > db.shiyanlou.find().limit(1)
  2. { "_id" : ObjectId("5559d1cca30df8c25bf44dd7"), "name" : "peter", "position" :
  3. "teacher" }
  4. >
-4,skip:读取时跳过指定数据记录
  1. > db.shiyanlou.find().limit(1).skip(2)
  2. > db.shiyanlou.find().limit(1).skip(1)
  3. { "_id" : ObjectId("5559d1e9a30df8c25bf44dd8"), "name" : "tom", "position" : "
  4. student" }
-5,sort 排序 1 表示升序,-1表示降序
  1. db.shiyanlou.find().sort({"name": 1})
  2. { "_id" : ObjectId("5559d1cca30df8c25bf44dd7"), "name" : "peter", "position" :
  3. "teacher" }
  4. { "_id" : ObjectId("5559d1e9a30df8c25bf44dd8"), "name" : "tom", "position" : "
  5. student" }
  6. > db.shiyanlou.find().sort({"name":-1})
  7. { "_id" : ObjectId("5559d1e9a30df8c25bf44dd8"), "name" : "tom", "position" : "
  8. student" }
3,索引: db.collection_name.ensureIndex()

ensureIndex()的可选参数:

参数类型描述
backgroundBoolean建立索引要不要阻塞其他数据库操作,默认为false
uniqueBoolean建立的索引是否唯一,默认false
namestring索引的名称,若未指定,系统自动生成
dropDupsBoolean建立唯一索引时,是否删除重复记录,默认flase
sparseBoolean对文档不存在的字段数据不启用索引,默认false
expireAfterSecondsinteger设置集合的生存时间,单位为秒
vindex version索引的版本号
weightsdocument索引权重值,范围为1到99999
default-languagestring默认为英语
language_overridestring默认值为 language












郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。