MongoDB 第5章 MongoDB高级查询(mongodb数据库)
562
2022-05-29
MongoDB 操作
1 通用操作数据库、集合
db # 显示当前数据库 use dataBaseName # 如果dataBaseName不存在,在插入数据时将会创建数据库 show dbs # 显示当前实例中的数据库 db.dropDatabase() # 删除当前选择的库 db.createCollection("runoob") # 显式的创建runoob集合 show tables # 显示当前数据库中的集合信息 show collections db.runoob.drop() # 删除runoob集合
2 创建集合方式
1 直接插入文档
2 使用db.createCollection()
db.createCollection(
创建固定集合 db.createCollection( “bob” : {capped:true, size:2000, max:200}) #大小 2000 byte, 数量200 查询是否是capped db.xxxName.isCapped() 删除集合 db.collection.drop({writeConcern:
3 增_插入
新文档添加到集合中。如果该集合当前不存在,则插入操作将创建该集合。
db.collection.insertOne() #插入单个文档
db.collection.insertMany() #插入多个文档
db.collection.insert() #插入单条或多个文档
插入操作行为影响:
自动创建不存在的集合、数据库,例如这里的inventory集合
如果不指定,自动生成主键_id及其值
写操作都是基于单个文档级别的原子操作
确认写操作级别,在分片集群中我们需要关注
MongoDB下新建文档的语法
db.collection.insert(
db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } ) db.inventory.insertOne( {item: "nike" , qty: 200, tags:["cotton", "glass"], size: {h:30, w: 40, uon: "inch"}}) db.inventory.insertMany([ { item: "journal", qty: 25, tags: ["blank", "red", "small"], size: { h: 14, w: 21, uom: "cm" } }, { item: "mat", qty: 85, tags: ["gray", "yellow", "green"], size: { h: 27.9, w: 35.5, uom: "cm" } }, { item: "mousepad", qty: 25, tags: ["gel", "blue", "big"], size: { h: 19, w: 22.85, uom: "cm" } } ]) db.inventory.insertMany([ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }, { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" }, { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }, { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" }, { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" } ]);
Save() 方法
与 insert不同的是, insert() 插入主键相同会报错, save()方法插入会覆盖相同主键的文档 语法 db.collection.save(
4 删除操作
删除文档的方式
db.collection.remove() 可以删除只读条件的文档
db.collection.deleteMany()只能删除一个文档 类似 remove justone: false
db.collection.deleteOne() 只能删除一个文档 类似 remove justone: true
remove(
删除操作行为影响:
集合中的所有文档都被删除,索引不会删除
写操作都是单个文档级别的原子操作
删除文档的两种方式
# 删除 db.inventory.remove({"qty": 100}, {"justOne":true}) # 删除所有文档 db.inventory.deleteMany({}) db.inventory.deleteMany({status: "A"}) # 删除单个文档 db.inventory.deleteOne( { status: "D" } ) //条件{status: “D”}
MongoDB 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。