数据库操作
创建数据库 use {dbName}
查看所有数据库 show dbs
Mongo文档操作
条件操作符
OR 条件
or条件语法如下:
1 2 3 4
| $or: [ JSON criteria1, JSON criteria2 ]
|
操作条件即为criteria1 or criteria2,如查找age<20与age>20的值
1 2 3 4 5 6 7
| db.user_base.find( { $or:[ {age:{$gt:30}},{age:{$lt:20}} ] } )
|
大小比较条件操作
操作 |
操作符 |
大于 |
$gt |
大于等于 |
$gte |
小于 |
$lt |
小于等于 |
$lte |
插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,区别在于insert()若以存在相同_id则报duplicate key,save()若指定了_id且_id对应数据存在,则执行更新,反正执行保存。插入语法如下:
1 2 3 4
| db.{collectionName}.insert({ name:'Wilson', age:15 })
|
数组插入:
1 2 3 4 5
| db.user_base.insert({ name:'Wilson', age:15, hobby:['eat','drink','play','sleep'] })
|
更新文档
MongoDB条件更新使用update()函数,语法如下:
1
| db.{collectionName}.update(JSON criteria, JSON objNew, boolean upsert,boolean multi )
|
- criteria: 更新条件,类似sql的where条件,JSON类型属性值
- objNew: 更新值,类似于sql的set属性值,JSON类型属性值
- upsert: 默认false,如果不存在criteria的条件,是否插入新的记录(objNew,criteria)
- multi: 默认false,是否更新所有找到的记录,默认只更新第一条
例:
1 2 3 4 5 6
| db.user_base.update( {'name':'Wilson'}, {'name':'Wilson','age':33}, false, false )
|
删除文档
1 2 3 4 5 6 7
| db.{collectionName}.remove( JSON criteria, { justOne: <boolean>, writeConcern: <document> } )
|
- criteria :必须,删除的文档的条件,空({})则删除全部。
- justOne : (可选)若为true 或 1,则只删除一个文档。
- writeConcern :(可选)抛出异常的级别。
例子:
1 2 3 4 5 6 7 8 9 10
| # 清空user_base数据库所有文档 db.user_base.remove();
# 删除第一条 age >= 20 的数据 db.user_base.remove( {age: { $gte:20 }}, { justOne: true } );
|
查询文档
1 2 3 4
| db.{collectionName}.find( JSON criteria, JSON optionalFields ).pretty()
|
- criteria:可选,查询条件,空则查询全部数据
- optionalFields:可选,显示选定字段,如{name:0}则查询结果不包含name字段
只查询指定字段
limit()限制返回数量
1
| db.{collectionName}.find().limit(NUMBER)
|
skip()跳过指定数量
1
| db.{collectionName}.find().limit(NUMBER).skip(NUMBER)
|
sort()排序
sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,1为升序,-1为降序,语法如下:
1
| db.{collectionName}.find().limit(NUMBER).sort({"key": 1})
|