mongoDB的基本使用

mongoDB官网:www.mongodb.org
中文官网:www.mongoing.com
中文文档地址:docs.mongoing.com
源码下载:https://github.com/mongodb/
bug提交以及回复:https://jira.mongodb.org/
用户交流:mongodb-user与mongo-cn

SQL术语/概念MongoDB术语/概念解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

插入文档

db.COLLECTION_NAME.insert(document)

插入数据你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

更新文档

update至少接受两个参数

db.imooc_collection.update({x:1},{x:999}) //将x为1的数据更新为x=999

update第二个参数默认覆盖原数据,如果需要部分更新

db.imooc_collection.update({z:100},{$set:{y:99}})//set操作符为部分更新操作符,使用set后,内容中存在的字段会被更新,而不存在的字段会保持原状

如果不存在一条数据则插入,需要第三个参数

db.imooc_collection.update({y:100},{y:9999},true)//查找的数据不存在就自动插入一条

为了防止误操作,update默认只更新查询的第一条数据

db.imooc_collection.update({c:1},{$set:{c:2}},false,true)//更新所有匹配的数据

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

 删除文档

remove至少接受一个参数(不同于find),并且默认删除所有匹配的记录(不同于update)

db.imooc_collection.remove({c:2})

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。

查询文档

db.collection_name.find()
db.collection_name.find({x:1})
db.collection_name.find({x:1}).count()
db.imooc_collection.find().skip(2).limit(2).sort({x:1})
//虽然 sort 函数写在最后面,但它是对整个 find() 结果先做排序处理,再 skip 和 limit。

 

posted on 2015-11-18 22:07  cbwleft  阅读(171)  评论(0)    收藏  举报