数据库操作
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);