#MongoDB命令行#--MongoDB命令使用笔记

user

雨橙

中国.四川.成都

世界之上、唯有远见、惟爱不变。


系统环境CentOS6.9 32位
 
查询数据库
show dbs (显示所有数据库)
db (显示当前选择数据库)
use [db] (选择数据库)
show tables (显示集合)
show collections(显示集合)
 
MongoDB连接
格式:mongodb://用户名:密码@IP地址:端口/数据库
mongodb://192.168.0.104:27017
mongodb://admin:123456@localhost/
mongodb://admin:123456@localhost/test
 
创建数据库
use [database]
show dbs
db
 
删除数据库
db.dropDatabase()
show dbs
 
创建固定集合
db.createCollection("counters")
 
删除集合
db.collection.drop()
show tables
 
向集合中插入文档
格式:db.collection.insert(document)
示例: db.collection.insert({'key1':'value1','key2':'value2'})
 
db.collection.insert({})
db.collection.insertOne({}) :向指定集合中插入一条文档数据
db.collection.insertMany([{}]) :向指定集合中插入多条文档数据
 
更新文档
db.collection.update({'key1':'value1'},{$set:{'key2':'value2'}},{multi:true}) 
db.collection.updateOne() 向指定集合更新单个文档
db.collection.updateMany() 向指定集合更新多个文档
 
删除文档
db.col.remove({})
db.inventory.deleteMany({})
db.inventory.deleteOne({})

示例: db.infos.remove({"key1":"value1"})
 
 
查询文档
db.collection.find() (显示第一条文档数据)
db.collection.findOne(显示全部文档数据)
db.collection.find().pretty()(格式化显示)

					
示例:
OR条件: db.collection.find({$or:[{"key1":"value1"},{"key2": "value2"}]}).pretty()
AND条件: db.collection.find({key1:value1, key2:value2}).pretty()
AND和OR联合使用:db.collection.find({"key1": {$gt:value1}, $or: [{"key2": "value2"},{"key3": "value3"}]}).pretty()
 
条件操作符
大于: db.collection.find({"key1" : {$gt : value1}}) 
大于等于:db.collection.find({"key1" : {$gte : value1}})
小于:db.collection.find({"key1" : {$lt : value1}})
小于等于: db.collection.find({"key1" : {$lte : value1}})
 
$type 操作符
db.collection.find({"key1" : {$type : 2}})

数据类型参考值
类型    值
Double 1
String 2
Object 3
Array 4
Binary data 5
Undefined 6 已废弃。
Object id 7
Boolean 8
Date 9
Null 10
Regular Expression 11
JavaScript 13
Symbol 14
JavaScript (with scope) 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255 Query with -1.
Max key 127
 
Limit与Skip方法
db.collection.find().limit(NUMBER).skip(NUMBER)
 
排序(1升序,-1降序)
db.collection.find().sort({KEY:1})

注:skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。
 
创建索引(1升序,-1降序)
db.collection.ensureIndex({key1:1})
db.collection.ensureIndex({"key1":1,"key2":-1})
 
MongoDB 复制(副本集)
--replSet启动一个副本集:
mongod --port 27017 --dbpath /data/mongo/data --replSet rs0
/usr/local/mongodb/bin/mongod --port 27017 --dbpath=/data/mongo/data --replSet=rs0

rs.initiate()来启动一个新的副本集
rs.conf()来查看副本集的配置
rs.status() 查看副本集状态使用命令
 
副本集添加成员
rs.add("mongodb1.net:27017")
db.isMaster()判断当前运行的Mongo服务是否为主节点

示例:
OR条件: db.collection.find({$or:[{"key1":"value1"},{"key2": "value2"}]}).pretty()
AND条件: db.collection.find({key1:value1, key2:value2}).pretty()
AND和OR联合使用:db.collection.find({"key1": {$gt:value1}, $or: [{"key2": "value2"},{"key3": "value3"}]}).pretty()

posted at