MongoDB基本语法
- 创建数据库
- use databasename(如果数据库不存在,则创建数据库,否则切换到指定的数据库)
- 例如
1
2use mydata
switched to db mydata
- 查看所有数据库
- show dbs
- 刚刚创建的数据库不在所有数据库列表中,要显示他,需要向mydata数据库插入一些数据
- 例如
1
2db.mydata.insert({"name":李四})
WriteResult({"nInserted":1})
- 删除数据库
- db.dropDatabase() 删除当前数据库默认为test
- 例如
1
2
3
4use mydata 切换到要被删除的数据库
switched to db mydata
db.dropDatabase()
{"dropped":"mydata","ok":1}
- 删除集合(表)
- db.collection.drop()
- 例如
1
2
3
4
5
6
7use mydata 创建数据库
db.createCollection("city") 创建集合(表)
show tables 展示集合
city
db.city.drop()
true
show tables
- 创建集合
- db.createCollection(name,options)
- name:要创建集合名称
- options:可选参数
- 参数如下
- db.createCollection(name,options)
字段 | 类型 | 描述 |
---|---|---|
capped | 布尔 | 可选,如果为true,创建固定集合,固定集合是指由着固定大小的集合当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数 |
autoIndexId | 布尔 | (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 |
size | 数值 | (可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。 |
max | 数值 | (可选)指定固定集合中包含文档的最大数量。 |
创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。
1
2
3db.createCollection("mycol", { capped : true, autoIndexId : true, size :
6142800, max : 10000 } )
{ "ok" : 1 }在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。
1
2
3db.mycol2.insert({"name" : "菜鸟教程"})
show collections
mycol2
- 删除集合
- db.collection.drop()
- 返回值
- 如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
- 插入文档
- 使用 insert() 或 save() 方法向集合中插入文档,语法如下:
- db.COLLECTION_NAME.insert(document)
- 实例
1
2
3
4
5
db.col.insert({
title: 'MongoDB ',
content:'一个nosql数据库',
text:'文档的数据结构和 JSON 基本一样。'
})
我们也可以将数据定义为一个变量
1
2
3
4
5
6document=({
title: 'MongoDB ',
content:'一个nosql数据库',
text:'文档的数据结构和 JSON 基本一样。'
likes: 100
);执行插入操作:
1
db.col.insert(document)WriteResult({"nInserted":1})
- db.collection.insertOne():向指定集合中插入一条文档数据
1 | var document = db.collection.insertOne({"a": 3}) |
- 插入多条数据
1
2
3
4
5
6
7
8
9> var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
> res
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("571a22a911a82a1d94c02337"),
ObjectId("571a22a911a82a1d94c02338")
]
} - 更新文档
- update()方法用于更新已存在的文档,语法格式如下
1
2
3
4
5
6
7
8
9db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
) - 参数说明:
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc…)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
- 实例 修改col集合title文档
1
db.col.update({'title':'MongoDB'},{$set:{'title':'mongodb'}})
- update()方法用于更新已存在的文档,语法格式如下
- 删除文档
- remove() 方法的基本语法格式如下所示:
1
2
3
4
5
6
7db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
) - 参数说明:
- query :(可选)删除的文档的条件。
- ustOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档
- writeConcern :(可选)抛出异常的级别。
- remove() 方法的基本语法格式如下所示: