MongoDB 创建数据库
show dbs 查看所有数据库
db 查看当前数据库
use DATABASE_NAME 不存在则创建,否则切换
db.dropDatabase() 删除当前数据库
MongoDB 创建集合
show collections 查看集合
show tables 查看集合
db.createCollection(name, options) 创建集合,MongoDB 会自动创建集合
db.COLLECTION_NAME.drop() 删除集合
文档操作
db.collection.insert(document) 插入文档
db.collection.insertOne() 插入一条文档数据
db.collection.insertMany() 插入多条文档数据
db.collection.save(document) 替换文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
) 更新文档
db.collection.updateOne() 更新单个文档
db.collection.updateMany() 更新多个文档
如: db.collection.update({"name": "tom"}, {$set:{"name": "Tom"}})
db.collection.remove(
<query>,
<justOne>
) 删除文档
db.col.remove({}) 删除所有 类似 SQL 的 truncate 命令
deleteOne() 和 deleteMany()
eg:
db.getCollection('table_name').insertMany([
{name: "摄影摄像",category_id: "6"},
{name: "医疗健康",category_id: "14"},
{name: "体育运动",category_id: "8"},
])
查询语句
db.collection.find() 查询文档
db.collection.find().pretty() 格式化
Where 语句比较:
等于(=) {<key>:<value>}
小于(<) {<key>:{$lt:<value>}}
小于或等于(<=) {<key>:{$lte:<value>}}
大于(>) {<key>:{$gt:<value>}}
大于或等于(>=) {<key>:{$gte:<value>}}
不等于(!=) {<key>:{$ne:<value>}}
AND 条件
db.col.find({key1:value1, key2:value2}).pretty()
OR 条件
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
Limit() 方法 指定数量的数据记录
db.collection.find().limit(NUMBER)
Skip() 方法 跳过指定数量的数据
db.collection.find().limit(NUMBER).skip(NUMBER)
sort()方法 排序
1 升序排列,-1 降序排列
db.collection.find().sort({KEY:1})
其他操作
创建索引 background:true 的选项,让创建工作在后台执行
db.collection.ensureIndex({KEY:1})
聚合
db.collection.aggregate(AGGREGATE_OPERATION)
$type 操作符
MongoDB复制
将数据同步在多个服务器的过程
mongodb各个节点常见的搭配方式为:一主一从、一主多从
分片集群
备份(mongodump)与恢复(mongorestore)
监控 mongostat mongotop
数据库引用{ $ref : , $id : , $db : }
$where两个字段比较
db.collection.find({
"$where": "this.fields1 == this.fields2"
}).limit(10);