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。
浙公网安备 33010602011771号