一、数据库和表操作
-
show bds 查看数据库
-
use test 切换数据库
-
db.dropDatabase() 删除当前数据库
-
use test 直接切换到数据库,mongo会在适当的时候自动创建数据库
-
db.mydb.drop()删除表
二、增:插入文档(集合)
db.mydb.insert() 创建表并插入数据,数据格式为json,
如果json对象中不包含_id则会自动创建一个全局唯一的_id,支持插入多条数据
db.mydb.insert({x:1}) 或 db.mydb.insert({x:1,_id:1})
for(i = 3; i < 100; i ++)db.mydb.insert({x:i}) 使用js语法插入100条数据
db.mydb.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100})复制代码
- 也可以定义为一个变量document
document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100});db.mydb.insert(document)复制代码
三、删:删除文档(集合)
删除集合下全部文档: db.mydb.deleteMany({})
删除 status 等于 A 的全部文档: db.mydb.deleteOne( { status: "D" } )
删除 status 等于 D 的一个文档: db.mydb.deleteOne( { status: "D" } )
四、改:更新文档(集合)
db.collection.updateOne() 向指定集合更新单个文档,[name是abc的age设置为28]
db.mydb.updateOne({ "name":"abc"},{ $set:{ "age":"28"}})db.mydb.find复制代码
db.collection.updateMany() 向指定集合更新多个文档,[age大于10的status设置为xyz]
db.test_collection.updateMany({ "age":{ $gt:"10"}},{ $set:{ "status":"xyz"}})复制代码
db.test_collection.insert({x:1,y:2}) db.test_collection.update({x:1},{z:3})更新x为1的数据,覆盖所有其他数据,只剩下z:3更新后为{z:3} db.test_collection.update({x:1},{ $set:{z:3}})更新x为1的数据,增加或者修改z:3,其他字段保持不变 db.test_collection.update({y:100},{y:999},true)第三个参数表示如果y:100的数据不存在则创建一条{y:999}的 数据 db.test_collection.update({x:10},{ $set:{z:1200}}, false, true) 第三个参数false表示不存在也不创建,第四个参数true表示当有多条符合更新要求的数据记录时会批量更新,此时必须使用$set操作符复制代码
五、查:查询文档(集合)
db.mydb.find()通过 by 和 title 键来查询 Mongodb 中 hello 的数据db.col.find({ "by":"Mongodb", "title":"hello"}).pretty()show collections 查看创建的表 db.test_collections.find() 默认查询所有的记录,可以为空。 db.test_collections.find({x:1}) 查询符合x:1的记录 db.test_collections.find().count() 查询满足条件的数目 db.test_collections.find().skip(3).limit(2).sort({x:1}) 忽略前三行,取两条数据,按照x排序db.test_collections.find().pretty() pretty() 方法以格式化的方式来显示所有文档,更好看。查询多个条件用逗号隔开复制代码
age大于50的,db.col.find({"age":{$gt:50}}).pretty()