MongoDB基本操作

248 阅读2分钟

一、数据库和表操作

  • 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()

www.cnblogs.com/wpjzh/p/599…