MongoDB基础

介绍MongoDB的基础知识

基础命令

命令 描述
db 检查当前选定的数据库
db.stats() 数据库信息
show dbs 检查数据库列表
show collections 显示表中集合
use admin 管理员权限
db.shutdownServer() 闭数据库(管理员)

增删改查

创建集合 db.createCollection(name, options)

  • name 字符串 所要创建的集合名称
  • options 可选 指定有关内存大小及索引的选项 | 文档

向集合中插入数据 db.COLLECTION_NAME.insert(document)

  • 在插入的文档中,如果我们没有指定 _id 参数,那么 MongoDB 会自动为文档指定一个唯一的 ID

删除数据库 db.dropDatabase()

  • 要删除指定数据库 先使用use进入

删除数据库中的集合 db.COLLECTION_NAME.drop()

  • 先查询有哪些集合

删除集合中的文档 db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)

  • deletion criteria(可选)删除文档的标准
    db.mycol.remove({'title':'MongoDB Overview'})
  • justOne(可选)如果设为 true 或 1,则只删除一个文档
    db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

更新已有文档中的值 db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)

  • db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
  • MongoDB 默认只更新单个文档,要想更新多个文档,需要把参数 multi 设为 true
    db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})

替换已有文档 db.COLLECTION_NAME.save({_id:ObjectId(’[String]’),NEW_DATA})


非结构化的方式来显示所有文档 db.COLLECTION_NAME.find()

  • find({<key>:<value>})
  • ADD条件查询查询多个键 用,号分开
  • OR条件查询 使用关键字$or

    db.mycol.find({
    $or: [{key1: value1}, {key2:value2}]
    }).pretty()
  • 格式化方式显示结果
    db.COLLECTION_NAME.find().pretty()

  • 返回一个文档
    db.COLLECTION_NAME.findOne()
  • 0 或 1 来设置字段列表 1 用于显示字段,0 用于隐藏字段
    db.COLLECTION_NAME.find({},{KEY:1})
  • limit() 方法接受一个数值类型的参数,其值为想要显示的文档数
    db.COLLECTION_NAME.find().limit(NUMBER)
  • 跳过几个数据
    db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

    查询结果排序

  • 使用 1 和 -1 来指定排序方式,其中 1 表示升序,而 -1 表示降序
    db.COLLECTION_NAME.find().sort({KEY:1})
    db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})

数据类型

MongoDB 支持如下数据类型

数据类型 描述
String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。用于存储布尔值(真/假)。
Double 双精度浮点值。用于存储浮点值。
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Arrays 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳。记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID 对象 ID。用于创建文档的 ID。
Binary Data 二进制数据。用于存储二进制数据。
Code 代码类型。用于在文档中存储 JavaScript 代码。
Regular expression 正则表达式类型。用于存储正则表达式。
加载评论框需要翻墙