0%

基础操作指令

数据库操作

创建数据库 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})