标签:www rdbms 等于 closed blog alt 开始 exe 2.0
【注意:MongoDB自动将_id字段设置为主键】
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
话不多说 直接 开始敲命令吧!
【注意1:MongoDB 命令结尾不要打; 是会报错的】
【注意2:RoboMongo 执行命令的快捷键是F5 停止执行快捷键是F6】
1.show dbs
显示所有数据的列表
2.db
显示当前数据库对象或集合
3.use
可以连接到一个指定的数据库
4. db.createCollection("myNewCollection",{capped:true,size:1024})
固定大小的collection【collection大小单位是字节】【capped:true 代表固定大小】
5.db.collection.stats()
产看当前db下的某个collection的详细信息
例如:
db.users.stats()
1 { 2 "ns" : "oneDB.users", 3 "count" : 4, 4 "size" : 256, 5 "avgObjSize" : 64, 6 "numExtents" : 1, 7 "storageSize" : 8192, 8 "lastExtentSize" : 8192.0, 9 "paddingFactor" : 1.0, 10 "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.", 11 "userFlags" : 1, 12 "capped" : false, 13 "nindexes" : 1, 14 "totalIndexSize" : 8176, 15 "indexSizes" : { 16 "_id_" : 8176 17 }, 18 "ok" : 1.0 19 }
1 部分参数的详细解释: 2 ns: 集合的命名空间,可以理解为集合名称 3 count: 集合中的文档总数 4 size: 集合中数据占用空间大小,不包括索引 ,单位为字节。 5 avgObjSize: 平均对像占用的空间大小 6 storageSize: 给整个集合分配的存储空间,当删除集合中的文档时,这个值不会降代。 7 numExtents: 连续分配的数据块 8 nindexes: 索引个数,每个集合至少有一个 _id 索引。 9 lastExtentSize: 最近分配的块的大小 10 paddingFactor: 这个参数不太清楚,以后补充。 11 totalIndexSize: 所有索引大小总和 12 indexSizes: 列出集合的所有索引字段,以及索引大小。
6.db.dropDatabase()
删除当前数据库
7.use dbName
有则指定到这个数据库,没有则创建这个数据库 但是创建之后是默认不会显示在数据库列表的,需要往里面插入一条数据 就能显示出来了
【注意:插入数据应该有大括号括起来的{}】
例如:
use oneDB
db
db.users.insert({_id:1,"name":"张三丰","age":23})
8.db.collection.drop()
删除集合
例如:
9. 定义变量 插入数据
document = {_id:1,"name":"张三","age":23,"url":"www.baidu.com"}
db.users.save(document)
10. 更新某一条数据
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
例如:
db.users.update({_id:1},{$set:{"url":"https://home.cnblogs.com/u/sxdcgaq8080/"}},{upsert:true,muti:true})
db.users.find()
11.db.users.find() 查询【各种查询】
find() 方法以非结构化的方式来显示所有文档
db.users.find().pretty()
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法;pretty() 方法以格式化的方式来显示所有文档
db.users.findOne()
findOne() 方法,它只返回一个文档
操作 | 格式 | 范例 | RDBMS中的类似语句 |
---|---|---|---|
等于 | {<key>:<value> } |
db.users.find({"name":"张三"}).pretty() |
where by = ‘张三‘ |
小于 | {<key>:{$lt:<value>}} |
db.users.find({"age":{$lt:23}}).pretty() |
where likes < 23 |
小于或等于 | {<key>:{$lte:<value>}} |
db.users.find({"age":{$lte:23}}).pretty() |
where likes <= 23 |
大于 | {<key>:{$gt:<value>}} |
db.users.find({"age":{$gt:23}}).pretty() |
where likes > 23 |
大于或等于 | {<key>:{$gte:<value>}} |
db.users.find({"age":{$gte:23}}).pretty() |
where likes >= 23 |
不等于 | {<key>:{$ne:<value>}} |
db.users.find({"age":{$ne:23}}).pretty() |
where likes != 23 |
例如:等于-->db.users.find({"age":23})
小于-->db.users.find({"age":{$lt:25}})
小于等于-->db.users.find({"age":{$lte:25}})
AND 条件查询
例如:db.users.find({"age":{$lte:25},"name":"张三"})
两个key-value并列放着就行了
OR条件查询
例如:db.users.find({$or:[{"name":"张三"},{"age":25}]})
【注意:需要使用 {$or:[{key:value},{key:value}]}这种格式】
AND和OR混用的情况
例如:db.users.find({"age":{$gte:23},$or:[{_id:1},{"name":"里斯"}]})
剖析一下结构:
db.users.find({
"age":{$gte:23},
$or:[
{_id:1},
{"name":"里斯"}
]
})
标签:www rdbms 等于 closed blog alt 开始 exe 2.0
原文地址:http://www.cnblogs.com/sxdcgaq8080/p/6145541.html