插入 insert
MongoDB中文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
首先我们先选择数据库
> use NewsDB switched 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"})
时间: 2024-10-10 20:53:34