database -> database
table -> collection
row -> document
column -> filed
index -> index
primary key -> primary key
三元素数据库 集合 文档
文档文档就是一个对象, 由键和值构成,是json的扩展Bson形式
集合集合用来存储多个文档
数据库数据库可以包含多个文档,一个服务器可以有多个数据库
查看当前数据库db
查看所有的数据库
show dbs
使用即创建
use py3
默认数据库
test
创建collection
db.createCollection("student")
创建 collection 并指定上限大小
size单位为字节
db.createCollection("student,{cappend : true,size:10})
显示当前数据库下的所有集合
show collections
删除集合
db.student.drop()
数据类型
Object id
Sring : 必须是utf-8
Boolean : 包含 true 和 false
Integer
Double
Arrays
Object : 一个值为一个文档
Null
Timestamp
Date
ObjectID长度 12 个字节
该值理论上不重复
前4个节表示 当前时间戳
下3个字节机器id
再下2个id mongdb的进程 id
最后 3字节是增量值
插入db.集合名称.insert(文档)
db.stu.insert({name:"gj",gender:true})
查询
db.stu.find()
更新
默认只修改一行
db.stu.update({name:"hr"},{name:"mnc"})
要修改多行
db.stu.update({name:'ali'},{age:18},{multi:true})
保存
save : 如果_id已经存在就修改 如果没有就创建并添加
db.stu.save({
name:"aaa",
gerder:1
})
删除
删除默认删除多条文档 , 只删除一条如下:
db.stu.remove({gender:0},{justone:true)
全部删除
db.sut.remove({})
查询进阶:只返回一个数据
db.student.finOne({name:"ali"})
比较运算符
$lt
$gt
$gte 大于等于
$ne : 不等于
db.sub.find({count:{$gt:1}})
逻辑运算符
与 {},{}
或 $or {$or:[{},{}]}
选择标题为js 或者 数量大于1的对象
db.sub.find({ $or: [ {title:"js"} , {count:{$gt:1} } ] } )
在指定list中查询
$in 在list中
$nin 不在list中
db.sub.find( {count: {$in:[2,3]} } )
通过正则表示式来查询
语法 作为value使用 : /正则表达式/
db.sub.find( {title: /^j/ } )
限制数量
只查询符合条件的三条语句
db.stu.find({name:li}).limit(3)
用js 创建集合
for(i=0;i<200;i++){db.t1.insert({_id:i})}
投影
只输出需要的字符
1 显示
0 不显示 , 也可以在显示字段不写
db.stu.find({},{name:1})
排序
1 升序 ,默认为升序
-1 降序
db.stu.find().sort({age:1})
统计全部
db.stu.find().count()
按条件进行统计
统计年龄大于5的数量
db.stu.count({age:{$gt:5}})
消除重复
年龄大于1但是不重复的值 返回值为一个数组
db.<集合名称>.distinct('去重的字段',条件)
db.stu.distinct("age",{age:{$gt:1}})
聚合
对文档进行分门别类后统计
_id : 分类的字段 , null为整个文档
$$ROOT 文档对象
$push 将结果放入list中
db.stu.aggregate([
{$group:{_id:"$gender",counter:{$push:"$$ROOT"}}}
])
共同学习,写下你的评论
评论加载中...
作者其他优质文章