MongoDB学习笔记
数据类型
- Boolean:布尔
- Double:数字
- String:字符串:UTF-8
- Array:数组
- Object:对象
- Object ID:对象ID
- Timestamp:时间戳
- Date:日期
- Symbol:符合
- Binary Data:二进制
- Code:代码类型
- 正则表达式
数据库操作
# 如果数据库不存在就创建数据库,否则切换数据库 use 数据库名称 # 查看当前数据库 db # 查看所有数据库,注意没有集合的数据库不会显示 show dbs # 删除当前数据库 db.dropDatabase()
集合操作
# 查看数据库所有集合名称 show collections # 创建集合,options 表示可选配置 db.createCollection("集合名称", options) # 删除集合 db.集合名.drop()
文档操作
文档基础增删改查
# 插入文档 db.集合名称.insert(文档数据) db.集合名称.save(文档数据) # 查询所有文档 db.集合名称.find() # 根据条件查询文档 db.集合名称.find({文档查询条件}) # 以易读的方式查询文档 db.集合名称.find({文档查询条件}).pretty() # OR 查询,其余都是and查询 db.集合名称.find({$or: [{查询条件}]}) # 更新文档, # upsert表示如果不存在更新记录,是否插入数据,true为插入,false为不插入 # multi表示是否全部更新,true为全部更新,false为只更新查询到的第一条数据 db.集合名称.update( {文档查询条件}, {$set:{更新的数据}}, {upsert:布尔类型,multi:布尔类型,writeConcern:异常级别文档类型} ); # 删除文档 # justOne如果为true只删除查询中的第一条文档,为false删除查询的所有文档 db.集合名称.remove( {文档查询条件}, {justOne: 布尔类型, writeConcern:异常级别文档类型} ) # 删除所有文档 db.集合名称.remove({})
文档特殊查询
# 分页查询 db.集合名称.find().limit(查询数量).skip(从第几个开始查询) # 排序查询,1表示升序,-1表示降序 db.集合名称.find().sort({"指定域":升序或者降序}) # 创建索引 db.集合名称.createIndex(keys,options) # 分组后计算,第一个指定域用于分组,第二个指定域用于计算 db.user.aggregate([{$group:{_id: "$指定域", "聚合后的别名": {$sum: "$指定域"}}}])