基础语法的学习
4.1 MongoDB 插入文档
(1)insert() 方法
要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法。
(2)语法
insert() 命令的基本语法如下:db.COLLECTION_NAME.insert(document)
(3)示例
a. 插入一个文档的语句,如下
> db.web_app.insert({
name:"追梦客",
oldName:"好童话",
description:"这是一个VR旅游电子商务网站"
})
WriteResult({"nInserted" : 1 })
b.插入多个文档,可以传递一个数组 insert() 命令的文件,如下所示:
>db.web_app.insert([{ name:"好童话",des:"这是一个o2o的vr旅游平台"},{city:"西安","address" : "www.dreamerkr.com.cn"}])
BulkWriteResult({
"writeErrors": [ ],
"writeConcernErrors": [ ],
"nInserted": 2,
"nUpserted": 0,
"nMatched": 0,
"nModified": 0,
"nRemoved": 0,
"upserted": [ ]
})
> db.web_app.find()
{ "_id" :ObjectId("54d877e4ebde50baebb6c4c8"), "name" : "追梦客", "oldName" :"好童话", "description" : "这是一个VR旅游电子商务网站" }
{ "_id" :ObjectId("54d87cdfebde50baebb6c4c9"), "name" : "好童话", "des" : "这是一个o2o的vr旅游平台" }
{ "_id" :ObjectId("54d87cdfebde50baebb6c4ca"), "city" : "西安", "address" :"www.dreamerkr.com.cn" }
可以看到插入两个document,也可以使用 db.post.save(document)。 如果不指定_id在文档中,然后将其 save() 方法和 insert()方法工作一样。如果指定_id,它会替换整个数据文件。
4.2 MongoDB 删除文档
(1)remove() 方法
remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是deletion criteria ,第二是justOne标志:
deletion criteria :(可选)删除标准,根据文件将被删除。
justOne: (可选)如果设置为true或1,然后只删除一个文件。
(2) 语法:
语法remove()方法如下:>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)
(3)示例
a.查询前面创建的web_info集合,如下所示:
> db.web_info.find()
{ "_id" :ObjectId("54d82d94dd625e55ab00b9b2"), "address" :"www.dreamerkr.com.cn" }
{ "_id" :ObjectId("54d87cdfebde50baebb6c4ca"), "city" : "西安", "address" :"www.dreamerkr.com.cn" }
{ "_id" : ObjectId("54d87cdfebde50baebb6c4c9"),"name" : "好童话", "des" : "这是一个o2o的vr旅游平台" }
b.删除所有的文件,其address值为 ' www.dreamerkr.com.cn '
> db.web_info.remove({"address" :"www.dreamerkr.com.cn"})
WriteResult({"nRemoved" : 2 })
> db.web_info.find()
{ "_id" :ObjectId("54d87cdfebde50baebb6c4c9"), "name" : "好童话", "des" : "这是一个o2o的vr旅游平台" }
c.删除只有一个
如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数,如下所示:
> db.web_info.remove({},1)
WriteResult({"nRemoved" : 1 })
> db.web_info.find()
{"_id" : ObjectId("54d82d94dd625e55ab00b9b2"),"address" : "www.dreamerkr.com.cn" }
{"_id" : ObjectId("54d87cdfebde50baebb6c4ca"),"city" : "西安", "address" : "www.dreamerkr.com.cn" }
d.删除所有文件
如果不指定删除条件,然后MongoDB将从集合中删除整个文件
> db.demo.remove({})
WriteResult({ "nRemoved" : 2 })
> db.demo.find()
4.3 MongoDB 更新文档
(1)update() 方法
update() 和 save() 方法用于更新文档的集合。 update()方法更新现有的文档值,而save()方法如果文档不存在,则会插入新的文档对象
(2)语法:
update() 方法的基本语法如下:db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA,UPDATED_DATA)
(3)示例
a.查询前面创建的score集合,如下所示:
> db.score.find();
{ "_id" :ObjectId("54d9c3896638c1af0d2b1203"), "name" :"c1", "cn" : 88 }
{ "_id" :ObjectId("54d9c3e86638c1af0d2b1204"), "name" :"c2", "cn" : 88 }
b.只更新单一的文件,其name值为 “ zhangsan”
> db.score.update({"cn":{$gt:80}},{$set:{"name":"zhangsan"}})
WriteResult({ "nMatched" : 1,"nUpserted" : 0, "nModified" : 1 })
>db.score.find();
{ "_id" :ObjectId("54d9c3e86638c1af0d2b1204"), "name" :"c2", "cn" : 88 }
{ "_id" :ObjectId("54d9c3896638c1af0d2b1203"), "name" :"zhangsan", "cn" : 88 }
c. 更新多个需要设置参数置'multi' 为true,如下所示更新了两条记录:
> db.score.update({"cn":{$gt:80}},{$set:{"cn":89}},{multi:true})
WriteResult({ "nMatched" : 2,"nUpserted" : 0, "nModified" : 2 })
> db.score.