mongodb
mongodb数据类型
String 字符串.存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。用于存储布尔值(真/假)。
Double 双精度浮点值。用于存储浮点值。
Min/Maxkeys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Array 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳。记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建Date 对象,传入年月日信息。
Object ID 对象 ID。用于创建文档的 ID。
Binary Data 二进制数据。用于存储二进制数据。
Code 代码类型。用于在文档中存储 JavaScript 代码。
Regularexpression 正则表达式类型。用于存储正则表达式。
命令
MongoDB 创建数据库
> use test1
switched to db test1
> db
test1
如果数据库不存在,则创建数据库,否则切换到指定数据库。
如果你想查看所有数据库,可以使用 show dbs
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
可以看到,我们刚创建的数据库 test1 并不在数据库的列表中,要显示它,我们需要向 runoob 数据库插入一些数据
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> db.test1.insert({
"name":"ll"})
WriteResult({
"nInserted" : 1 })
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test1 0.000GB
MongoDB 删除数据库
删除数据库要进入要删除的库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test1 0.000GB
> use test1
switched to db test1
执行删除
> db.dropDatabase()
{
"dropped" : "test1", "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
创建集合
语法格式:
db.createCollection(name, options)
参数说明:
name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
options 可以是如下参数:
字段 | 类型 | 描述 |
---|---|---|
capped | 布尔 | (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 |
autoIndexId | 布尔 | (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 |
size | 数值 | (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。 |
max | 数值 | (可选)指定固定集合中包含文档的最大数量。 |
在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。
> use test1
switched to db test1
> db.createCollection("runoob")
{
"ok" : 1 }
如果要查看已有集合,可以使用 show collections 命令:
> show collections
runoob
创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。
> db.createCollection("mycol",{
capped:true,autoIndexId:true,size:6142800,max:10000})
{
"note" : "The autoIndexId option is deprecated and will be removed in a future release",
"ok" : 1
}
> show collections
mycol
runoob
删除集合
> show collections
test1
> db.test1.drop()
true
> show collections
返回值
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
MongoDB 插入文档
文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
> db.mycol.insert({
id:1,name:"lisi",age:20,sex:"nan"})
WriteResult({
"nInserted" : 1 })
查看文档
> db.mycol.find()
{
"_id" : ObjectId("6065dc4f65044b2fcca7e676"), "id" : 1, "name" : "lisi", "age" : 20, "sex" : "nan" }
插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
3.2版本后还有以下几种语法可用于插入文档:
db.collection.insertOne():向指定集合中插入一条文档数据
db.collection.insertMany():向指定集合中插入多条文档数据
插入单条数据
> var document=db.runoob.insertOne({
"a": 3})
> document
{
"acknowledged" : true,
"insertedId" : ObjectId("6065ddc565044b2fcca7e678")
}
插入多条数据
> var res=db.test2.insertMany([{
"b": 3}, {
'c': 4}