MongoDB命令行

1,967 阅读1分钟

启动数据库

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}])