菜鸟的mongoDB学习---(三)MongoDB 的增、删、改、查(insert、remove、update、find)

来源:互联网 时间:1970-01-01


插入 insert

MongoDB中文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

首先我们先选择数据库

> use NewsDBswitched to db NewsDB> 

下面我们先定义一个文档

> document = ({"name":"jingdong","age":"23","profession":"extreme programming","city":"sy"}){ "name" : "jingdong", "age" : "23", "profession" : "extreme programming", "city" : "sy"}> 
之后我们进入今天的主题,向集合中插入文档,插入的方式有两种,一种是插入定义好的文档,另一种是插入未定义的数据。

> db.new.insert(document)WriteResult({ "nInserted" : 1 })

> db.new.insert({... "name" : "jingdong",... "age" : "23",... "profession" : "extreme programming",... "city" : "sy"... }... )WriteResult({ "nInserted" : 1 })

之后我们可以通过find函数来查看集合中的文档。

db.new.find()

删除 remove

MongoDB remove()函数是用来移除集合中的数据。

MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。

如果你想删除new集合中name为“jingdong”的数据,你就可以执行以下命令

> db.new.remove({"name":"jingdong"})WriteResult({ "nRemoved" : 2 })

如果你想删除new集合所有的数据,你可以执行以下命令

db.new.remove({})

如果你想删除整个集合你需要使用drop函数,drop函数会返回true或者false。

db.new.drop()

使用dropDatabase()函数删除数据库,执行命令前最好使用db查看一下当前的数据库,确保你删除的数据库是正确的。

db.dropDatabase()

更新update

MongoDB数据更新可以使用update()函数。

db.collection.update( criteria, objNew, upsert, multi )

update()函数接受以下四个参数:

  • criteria : update的查询条件,类似sql update查询内where后面的。
  • objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
下面写几个小例子吧,首先先插入两个测试数据。

> db.new.insert({ "name" : "jingdong", "age" : "23", "profession" : "extreme programming", "city" : "sy" } )WriteResult({ "nInserted" : 1 })> db.new.insert({ "name" : "nannan", "age" : "23", "profession" : "calc", "city" : "sy" } )WriteResult({ "nInserted" : 1 })

只更新符合条件的第一条

> db.new.update({"city":"sy"},{$set:{"city":"bj"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

全部更新

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},false,true)

如果没有此属性则添加第一条中

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},true,false)

如果没有此属性则全部都添加

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},true,true)

查询find

可以使用find实现全部查询

> db.new.find()

也可以指定条件查询

> db.new.find({"name":"jingdong"})











相关阅读:
Top