基本命令
启动 sudo mongod
开始操作数据库 mongo
关闭数据库
use admin;
db.shutdownServer();
查看所有数据库 show dbs
查看当前所在db db
切换到指定数据库 use runoob
如果数据库不存在,则创建数据库,否则切换到指定数据库:
刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。
1 | db.runoob.insert({"name":"菜鸟教程"}) |
删除数据库 db.dropDatabase()
删除集合 db.collection.drop()
以下实例删除了runoob 数据库中的集合site:
1 | use runoob |
查看数据库所有集合 show tables / show collections
创建集合 db.createCollection(name, options)
创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。
1 | db.createCollection("mycol", { capped : true, autoIndexId : true, size : |
- 向集合中插入文档
1 | db.mycol2.insert({"name" : "菜鸟教程"}) |
插入一条文档 db.col.insertOne({“a”: 3})
插入多条文档 db.col.insertMany([{“b”: 3}, {‘c’: 4}])
查询文档
1 | db.collection.find(query, projection) |
db.col.find() 返回所有文档
db.col.find().pretty() 以易读的方式来读取数据
db.col.findOne() 只返回一个文档
以下实例通过 by 和 title 键来查询 菜鸟教程 中 MongoDB 教程 的数据:
1 | db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty() |
以下实例中,我们演示了查询键 by 值为 菜鸟教程 或键 title 值为 MongoDB 教程 的文档:
1 | db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() |
以下实例演示了 AND 和 OR 联合使用,类似常规 SQL 语句为: ‘where likes>50 AND (by = ‘菜鸟教程’ OR title = ‘MongoDB 教程’)’:
1 | db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() |
- 更新文档
- update() 方法 update() 方法用于更新已存在的文档。语法格式如下:
1 | db.collection.update( |
更新文档的title字段
1 | db.col.update( |
- save() 方法
save() 方法通过传入的文档来替换已有文档。语法格式如下:
1 | db.collection.save( |
以下实例中我们替换了_id 为 56064f89ade2f21f36b03136 的文档数据:
1 | db.col.save({ |
- 删除文档 remove()
remove() 方法的基本语法格式如下所示:
1 | db.collection.remove( |
移除指定id的文档
1 | db.articles.remove({_id: '5c8a177fca9df867ed5b0378'}) |
一次性删除所有文档
1 | db.col.remove({}) |