启动数据库
sudo service mongod start
关闭数据库
sudo service mongod stop
查看所有数据库
show dbs
查看当前所在数据库
db
切换/创建数据库(如果数据库不存在,则创建数据库)
use db_name
删除当前正在使用的数据库
db.dropDatabase()
查看所有集合
show collections
创建集合
db.createCollection("collection_name")
或者不需要主动创建集合,当插入数据时,MongoDB会自动创建集合
导出数据库
mongodump --host IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件路径
导入数据库
mongorestore --host --port -d 文件路径
查询数据
查询所有
db.users.find()
mongo运算符
$eq 等于
$ne 不等于
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
$in 在范围内
$nin 不在范围内
条件查询,相当于 select * from users where age < 10
db.users.find({"age": {$lt: 10}})
多条件AND查询
db.users.find({"age": {$lt: 10}, "_id": {$lt: 5 }})
多条件OR查询
db.users.find({$or:["age": {$lt: 10}, "_id": {$lt: 5 }]})
插入数据(插入已存在的id会报错)
db.users.insert({"_id":ObjectId("00000000"),"name":"name1"})
删除数据
db.users.remove({"name":"name1"})
更新数据
更新部分字段
db.users.update({ _id: ObjectId("00000000") },{$set: {"name" : name2}})
更新全部字段
db.users.update({ _id: ObjectId("00000000") },{"name" : name2})
匹配多条数据更新
db.users.update({"name" : name1},{ $set: {"name" : name2}},{multi: true })
替换数据(id不存在则插入,已存在则替换,替换数据是不会更新某些字段,是直接整个替换)
db.users.save({ "_id" : ObjectId("00000000"), "name" : name1})
替换多条
db.users.save([{ "_id" : ObjectId("00000000"), "name" : name1},{ "_id" : ObjectId("00000001"), "name" : name2}])