MongoDB中有三个重要的概念:数据库、集合、文档。
在开始之前,先来用一张图对比一下SQL和MongoDB:
一、创建操作:
创建或插入操作,即向集合collection添加新的文档documents。如果插入时集合不存在,插入操作会创建该集合。
db.collection.insert()
若字段较多可以以这种缩进的形式,可读性更高,上图中的三个点“…”是mongoDB自动添加的。
可以通过运行count来查看集合中有多少个文档:
db.collection.count()
二、查询操作:
读操作,即获取集合collection中的文档documents,例如查询一个集合中的文档,语法如下:
db.collection.find()
上述指令是查询该集合中的所有文档,我们也可以传递查询条件进行精确查询:
db.collection.find({username:"jsons"})
也可以使用MongoDB的$and操作符:
db.collection.find({$and:[
{_id:ObjectId("552e458158cd52bcb257c324")},
{username:"jsons"}
]})
使用OR查询文档的语法类似:只需要把$or操作符替换一下就可以了:
db.collection.find({$or:[
{username:"smith"},
{username:"jsons"}
]})
三、更新操作:
更新操作修改集合collection中已经存在的文档documents,语法如下:
db.collection.update()
所有的更新操作至少需要2个参数,第一个指定要更新的文档,第二个定义如何修改此文档。
通常有两种类型的更新操作,用于不同的属性和使用场景。其中一个类型的更新是在一个文档或者多个文档上修改,另外一个是使用新文档取代旧的文档。
更新操作符:
第一种类型的更新需要传递一个文档参数,还有一些操作符作为第二个参数,先来看下如何使用$set操作符,它可以为单个字段设置特定的值。
假如用户smith要增加自己的居住地国家,可以使用如下命令:
db.users.update({username:"smith"},{$set:{country:"Canada"}})
替换更新:
另外一个更新文档的方式就是替换文档,而不是更新某个字段(没有使用$set操作符),如下:
db.users.update({username:"smith"},{country:"Canada"})
这个例子中,文档被替换为只包含country字段的文档,username字段被删除,因为它只是用来匹配文档,第二个参数用来更新替换。
四、删除操作:
删除是从一个集合中删除文档的操作,语法如下:
db.collection.remove()
如果没有参数,删除操作将会清空集合里的所有文档。
如果我们只需要删除集合中某个文档,那么就要传递查询选择器给remove()方法,如下:
db.users.remove({"favorites cities":"Cheyenne"})
注意:remove()操作不会删除集合,只会删除集合中的某个文档,可以把它和SQL中的delete命令进行类比。
如果要删除集合及其附带的索引数据,可以使用drop()方法:
db.users.drop()
五、基本命令:
show dbs #查看全部数据库
use test #创建数据库
show collections #显示当前数据库中的集合(类似关系数据库中的表)
db.stats() #显示当前db状态
db.version() #当前db版本
db.getMongo() #查看当前db的链接机器地址
学习中,持续更新……