MongoDB学习笔记

MongoDB学习笔记

数据类型

  1. Boolean:布尔
  2. Double:数字
  3. String:字符串:UTF-8
  4. Array:数组
  5. Object:对象
  6. Object ID:对象ID
  7. Timestamp:时间戳
  8. Date:日期
  9. Symbol:符合
  10. Binary Data:二进制
  11. Code:代码类型
  12. 正则表达式

数据库操作

# 如果数据库不存在就创建数据库,否则切换数据库
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: "$指定域"}}}])

你可能感兴趣的:(NoSQL)