博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb增删改查
阅读量:6824 次
发布时间:2019-06-26

本文共 2502 字,大约阅读时间需要 8 分钟。

show dbs 显示所有的数据库

use psl 切换数据库
db.dropDatabase() 删除数据库
use psl mongodb会自动创建数据库
db.psl_collection.insert({"user":"psl","auth":"passwd"}) #插入josn格式数据到集合并创建数据库
db..psl_collection.find() #使用find来进行数据查询 空默认返回所有文档
db.psl_collection.insert({"user":"lishi","auth":"passwd",_id:1}) #_id可以插入,但全局不能重复
db.psl_collection.find({_id:1}) #查询条件为_id:1的数据行,过滤不符合条件的数据

for(i=3;i<100;i++) db.psl_collection.insert({x:i}) #以json格式插入多条数据

db.psl_collection.find() .count() #统计数据行数
db.psl_collection.find().skip(3) #跳过前面3条数据
db.psl_collection.find().skip(3).limit(5).sort({x:1}) # #跳过前面3条数据,限制只显示5条并按x的值进行排序
db.psl_collection.update({x:3},{x:999}) #查询x:3的数据并将其更新为x:999
db.psl_collection.insert({x:100,y:100,z:100})
db.psl_collection.update({x:100},{y:100}) #操作将会把x:100 z:100的数据覆盖,默认只更新第一条数据
db.psl_collection.update({x:100},{y:100},true) #true查找更新的数据不存在时自动创建
db.psl_collection.update{x:100},{$set {y:100}}) #只将这部份数据覆盖
db.psl_collection.update{x:100},{$set {y:100}},false,true) #true查找并更新多条数据
db.psl_collection.remove({x:100}) #删除数据默认删除查询到的所有数据,参数不允许为空
db.psl_collection.drop() #删除数据表 集合

索引

db.psl_collection.getIndexes() #查询集合内的索引情况
db.psl_collection.ensureIndex({x:1}) #创建索引 x:1 1代表正向排序 -1代表逆向排序
_id 是集合中的默认索引
单键索引 不会自动创建
db.psl_collection.ensureIndex({x:1}) #可以使用x:1的索引进行查询
多键索引 值有多个记录
复合索引 x
db.psl_collection.ensureIndex({x:1,y=2})
过期索引 一定时间后失效数据 如登录数据
db.psl_1.ensureIndex({x:1},{expireAfterSeconds:10}) #expireAfterSecond 单位为秒
db.psl_1.insert({time:new Date()})
过期时间值的类型必须是时间类型,如何指定了一个时间数组以最小的值来计算
过期索引不能是复合索引,删除时间不是精确的,数据量级不大的情况下会在60秒以内
全文索引
{author:"",title:"",article:""}
db.article.ensureIndex({key:"test"}) #全文索引固定字tese
db.article.ensureIndex({key1:"test"},{key2:"test"})
db.article.ensureIndex({"$**":"test"}) #key 不在是具体的值,表示集合中创建一个大的段的集合索引
db.article.find($text:{$search:"aa"}) #mongodb 只会创建一个全文索引 查询含有aa的数据行
db.article.find($text:{$search:"aa bb cc "}) #或查询 查询含有 aa bb cc 的数据行
db.article.find($text:{$search:"aa bb -cc "}) # 查询含有 aa bb 并不包含cc的数据行
db.article.find($text:{$search:"\"aa\" \" bb\" \"cc\" "}) #与查询 查询包含 aa bb cc 的数据行
全文索引相似度查询
db.article.find($text:{$search:"aa bb"},{score:{$meta:"textScore"}})
db.article.find($text:{$search:"aa bb"},{score:{$meta:"textScore"}}) .sort(1)
全文索引限制
索引属性:名字 唯一性 稀疏性 是否需要时间限制
名字 name:
db.collection.ensureIndex({},{name:""})
唯一性 unique:
db.collection.ensureIndex({},{unique:true/false})
稀疏性 所谓稀疏,就是在记录中不存在该索引字段时,不用创建索引,所以节约了磁盘占用;而且插入时由于不用更新索引,所以也加快了插入速度 sparse
db.collection.ensureIndex({},{sparse:true/false})
是否需要时间限制
地理位置索引

转载于:https://blog.51cto.com/11074678/2315102

你可能感兴趣的文章
项目管理理论与实践(4)——UML应用(上)
查看>>
超融合详细对比:市面各主流超融合产品及厂商优劣势解密
查看>>
第十九课:阻抗模型(和第十八课重复)
查看>>
「AHOI / HNOI2017」影魔
查看>>
iOS 水波效果
查看>>
js验证
查看>>
nginx重启命令
查看>>
php dirname(_FILE_)
查看>>
zookeeper选主算法二
查看>>
JS 中的require 和 import 区别整理
查看>>
stream& datagram socket
查看>>
vue.js 2.0开发(4)
查看>>
urb传输的代码分析【转】
查看>>
ftrace 简介【转】
查看>>
内置函数总结
查看>>
模块的查找顺序
查看>>
LeetCode OJ:Ugly Number(丑数)
查看>>
wpf中ListBox的选中项与ComboBox间的绑定
查看>>
洛谷P1067 多项式输出
查看>>
web前台传参到后台出现错误
查看>>