进入命令 mongo
mongo
查看 数据库
show dbs
选择/创建 数据库
use db
删除 数据库
use db
db.dropDatabase
查看 集合(表)
show collections
创建 集合(表)
db.createCollection(name, options)
db.createCollection("user", {capped: true, size: 51200, autoIndexId: true, max: 10000})
- capped:是否开启限制固定集合的大小,超过限制时会覆盖最早的记录 bool
- size:capped为true是必填,固定集合的大小 单位KB int
- autoIndexId:自动在 _id 字段创建索引
- max:集合最大文档(行)数量
删除 集合(表)
db.collection.drop()
db.user.drop()
添加 文档(行)
db.collection.insert(obj)
db.user.insert({name: "a", age: 18, tabs: ["a", "b", "c"], likes: 1000})
//查看添加
var dom = {name: "b", age: 20, tabs: ["b", "c", "d"], likes: 1200}
var res = db.user.insertOne(dom)
res
{
"acknowledged" : true,
"insertedId" : ObjectId("5eb90e597806784e6d04f743")
}
//批量添加
var doms = [{name: "cc", age: 20, url: "https://baidu.com", tags: ["w", "p", "e"], likes: 2000},{name: "dd", age: 18, url: "https://baidu.com", tags: ["w", "p", "e"], likes: 2000} ]
var res = db.user.insertMany(doms)
res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5eb911ead5386637c9e035ff"),
ObjectId("5eb911ead5386637c9e03600")
]
}
查询 文档(行)
db.collection.find(query)
//简单查询
db.user.find({"name": "dd"}).pretty()
db.user.find({"likes": {$lt: 1000}}).pretty()
//lt lte gt gte ne
- query 查询条件
- pretty() 易读模式
- lt 小于 less than
- lte 小于等于 less than equal
- gt 大于 greater than
- gte 大于等于 greater than equal
- ne 不等于 not equal
or查询
db.user.find({$or: [{name: "cc"}, {name: "dd"}]}).pretty()
组合查询
db.user.find({'name':'dd', $or: [{'age': 18}, {'age': 20}]}).pretty()
mysql:select * from user where name = 'dd' AND (age = 18 or age = 20)
limit方法
//查询前两个数据
db.user.find({name: "cc"}).limit(2).pretty()
skip方法
//偏移量
db.user.find({name: "cc"}).limit(2).skip(2).pretty()
sort方法
//排序 -1 倒序 1 正序
db.user.find({name: "cc"}).sort({'likes': -1}).pretty()
更新 文档(行)
db.collection.update(query, update, option)
db.use.update({'name': 'dd'}, {$set:{'age': 10}}, {upsert: false, multi: false})
- query 查询条件
- update 更新数据
- upsert 默认是false,如果不存在update的记录,是否插入objNew,true为插入
- multi 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
- $set 设置键值对,有键就更新,没有键就添加
- $unset 移除键值对,有移除,没有不处置
删除 文档(行)
//删除全部
db.collection.deleteMany(query)
db.user.deleteMany({'name': 'dd'})
//删除单个
db.collection.deleteOne(query)
db.user.deleteOne({'name': 'dd'})
COMMENTS | NOTHING