1.回顾:上篇已经学习过 Mongodb的安装的两种方式
2.这篇将学习 mongodb的基本命令
3.准备 :安装好mongodb后,需要先打开mongodb服务,后打开一个客户端 (cmd操作)
4.创建数据库,对象和集合
4.1 新建数据库 db
?
use student
?
4.2 新建集合 Collection
?
db.createCollection("LABELNET");
?
4.3 新建 文档 document
?
document={"name":"yuan","age":23}
4.4 查看所有数据库
show dbs
?
4.5 查看一个数据库下的集合状态
?
use student;
db.printCollectionStats();
?
4.6 演示结果:
?
> use student
switched to db student
> db.createCollection("LABELNET");
{ "ok" : 1 }
> document={"name":"yuan","age":23}
{ "name" : "yuan", "age" : 23 }
> show dbs
local 0.078GB
student 0.078GB
> use student
switched to db student
> db.printCollectionStats();
LABELNET
{
"ns" : "student.LABELNET",
"count" : 0,
"size" : 0,
"numExtents" : 1,
"storageSize" : 8192,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0.
It remains hard coded to 1.0 for compatibility only.",
"userFlags" : 1,
"capped" : false,
"nindexes" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
---
system.indexes
{
"ns" : "student.system.indexes",
"count" : 1,
"size" : 112,
"avgObjSize" : 112,
"numExtents" : 1,
"storageSize" : 8192,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0.
It remains hard coded to 1.0 for compatibility only.",
"userFlags" : 0,
"capped" : false,
"nindexes" : 0,
"totalIndexSize" : 0,
"indexSizes" : {
},
"ok" : 1
}
---
>
5. 插入操作 insert
?
5.1 可以先定义一个文档document ,后将文档插入到集合中。或者直接将输入插入到集合中。
?
5.2 基本格式
db.集合名称.insert(已定义的文档);
db.集合名称.insert(数据);
5.3 演示示例
?
---
> db.LABELNET.insert({"name":"csdn","age":"老大了!"});
WriteResult({ "nInserted" : 1 })
> document={"name":"yuan",age:"23"};
{ "name" : "yuan", "age" : "23" }
> db.LABELNET.insert(document);
WriteResult({ "nInserted" : 1 })
?
6. 查询操作 find
6.1 基本格式
?
(1)db.集合名称.find();显示文档
(2)db.集合名称.find(where);
(3)db.集合名称.find({"name":{$type:2}});
6.2 基本查询
?
> db.LABELNET.find();
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" : "老大了
!" }
{ "_id" : ObjectId("55bec43732cbb5faa25c967d"), "name" : "yuan", "age" : "23" }
?
6.3 条件查询
?
$type操作符是基于BSON类型来检索集合中匹配的结果。
db.集合名称.find({"name":{$type:2}});
$type 对应得值 有下面几种:
Double 1
String 2
Object 3
Array 4
Binary data 5
Object id 7
Boolean 8
Date 9
Null 10
Regular expression 11
JavaScript code 13
Symbol 14
java script code with scope 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255
Max key 127
演示示例:
> db.LABELNET.find({"name":"yuan"});
{ "_id" : ObjectId("55bec43732cbb5faa25c967d"), "name" : "yuan", "age" : "23" }
> db.LABELNET.find({"name":{$type:2}});
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" : "老大了
!" }
{ "_id" : ObjectId("55bec43732cbb5faa25c967d"), "name" : "yuan", "age" : "23" }
>
6.4 满足条件的,取固定条数 : db.集合名称.find({条件}).limit(10);
7.修改数据 update
7.1基本格式 : 注意条件
?
db.集合名称.update(where,set,未找到插入新的为true,更新多条为true);
7.2 演示 示例 : 修改 name为csdn的 age值
?
> db.LABELNET.update({"name":"csdn"},{"$set":{"age":16}},false,true);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.LABELNET.find();
{ "_id" : ObjectId("55bec40532cbb5faa25c967c"), "name" : "csdn", "age" :