位置: 编程技术 - 正文

MongoDB常用操作汇总(mongodb操作语句)

编辑:rootadmin

推荐整理分享MongoDB常用操作汇总(mongodb操作语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb用法,mongodb使用场景 简书,mongodb的基本操作,mongodb的基本操作,mongodb用法,mongodb的操作命令,mongodb的基本操作,mongodb 操作,内容如对您有帮助,希望把文章链接给更多的朋友!

一、增删改查

查看当前数据库中所有的集合,使用命令

创建集合有两种方式,显示创建和隐式创建

向集合添加文档

使用命令 db.集合名称.insert({}),例如:

db.user1.insert({name:”jack”,age:})

删除集合中的文档

查询集合中的文档

查询集合中的文档,返回某些特定的键值除了查询表达式以外,MongoDB还支持一些额外的参数选项。如果仅仅只想返回某些特定的字段值:返回除了age字段外的所有字段db.user.find({},{age:0});

返回tags=tennis除了comments的所有列db.posts.find({tags:'tennis'},{comments:0});

返回userid=的name字段db.user.find({userid:},{name:1});{"_id":,"name":"user"}

返回x=john的所有z字段db.things.find({x:"john"},{z:1});

查询集合中的文档 ,使用条件表达式(<, <=, >, >=,!=)//大于: field > valuedb.collection.find({field:{$gt:value}});

//小于: field < valuedb.collection.find({field:{$lt:value}});

//大于等于: field >= valuedb.collection.find({field:{$gte:value}});

//小于等于: field <= valuedb.collection.find({field:{$lte:value}});

//不等于: field != valuedb.collection.find({field:{$ne:value}});

查询集合中的文档 ,统计(count)、排序(sort)、分页(skip、limit)

查询集合中的文档$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回

$in,类似于关系型数据库中的IN

$nin,与$in相反

$or,相当于关系型数据库中的OR,表示或者的关系,例如查询name为user2或者age为3的文档,命令为:db.customer.find({$or:[{name:”user2”},{age:3}]})

$nor,表示根据条件过滤掉某些数据,例如查询name不是user2,age不是3的文档,命令为:db.customer.find({$nor:[{name:”user2”},{age:3}]})

$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询customer集合中存在name键的所有文档,可以使用 db.customer.find({name:{$exists:1}})$exists:1表示真,指存在$exists:0表示假,指不存在

MongoDB常用操作汇总(mongodb操作语句)

游标

更新集合中的文档语法:db.collection.update(criteria,objNew,upsert,multi)参数说明:criteria:用于设置查询条件的对象objNew:用于设置更新内容的对象upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1multi:如果有多个符合条件的记录,是否全部更新,取值为0或1

注意:默认情况下,只会更新第一个符合条件的记录一般情况下后两个参数分别为0,1 ,即:db.collection.update(criteria,objNew,0,1)

将集合中name为user1的文档改成name为jack:db.c1.update({name:"user1"},{name:"jack"})

$set 用来指定一个键的值,如果这个键不存在,则创建它。例如:给name为user1的文档添加address,可以使用命令:db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)将name为user1的文档修改address为tj,其它键值对不变,命令为:db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)

使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加减指定的数值db.c1.update({name:"user1"},{$inc:{age:1}})

$unset 用来删除某个键例如删除name为user1的文档中的address键,可以使用命令:db.c1.update({name:”user1”},{$unset:{address:1}},0,1)

二、索引:

索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找,使得查找速度能提高几个数量级。在索引中找到条目以后,就可以直接跳转到目标文档的位置。

普通索引:创建:db.collection.ensureIndex({key:1})查看关于索引的相关信息:db.collection.stats()查看查询使用索引的情况:db.collection.find({key:value}).explain()删除索引:db.collection.dropIndex({key:1})删除集合,也会将集合中的索引全部删除

唯一索引:创建:db.collection.ensureIndex({key:1},{unique:true})查看关于索引的相关信息:db.collection.stats()查看查询使用索引的情况:db.collection.find({key:value}).explain()删除索引:db.collection.dropIndex({key:1})删除集合,也会将集合中的索引全部删除

三、固定集合(capped collection)

固定集合指的是事先创建而且大小固定的集合 。

固定集合特性:固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制。

创建固定集合:db.createCollection(“collectionName”,{capped:true,size:,max:}); size指定集合大小,单位为KB,max指定文档的数量

当指定文档数量上限时,必须同时指定大小。淘汰机制只有在容量还没有满时才会依据文档数量来工作。要是容量满了,淘汰机制会依据容量来工作。

四、备份(mongodump)和恢复(mongorestore)

MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件(即在mongodb bin目录下的命令)

备份数据使用下面的命令:mongodump -h dbhost -d dbname -o dbdirectory-h:MongDB所在服务器地址,例如:.0.0.1,当然也可以指定端口号:.0.0.1:-d:需要备份的数据库实例,例如:test-o:备份的数据存放位置,例如:c:datadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

恢复数据使用下面的命令:mongorestore -h dbhost -d dbname -directoryperdb dbdirectory-h:MongoDB所在服务器地址-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2-directoryperdb:备份数据所在位置,例如:c:datadumptest

五、导入(mongoimport)和导出(mongoexport)

导出数据可以使用命令:mongoexport -h dbhost -d dbname -c collectionName -o output参数说明:-h 数据库地址-d 指明使用的库-c 指明要导出的集合-o 指明要导出的文件名

例:mongoexport -h localhost: -d test -c c4 -o d:/beifeng/c4.txt

导入数据可以使用命令:mongoimport -h dbhost -d dbname -c collectionname 文件的地址...参数说明:-h 数据库地址-d 指明使用的库-c 指明要导入的集合本地的文件地址...

例:mongoimport -h localhost: -d test -c cctv d:/beifeng/c4.txt

mongoDB 多重数组查询(AngularJS绑定显示 nodejs) 核心代码:js代码varLesson=Schema({lessonName:String,intr:String,creTime:Date,sort:String,//分类imgUrl:String,//封面地址price:Number,teacher:String,//教师subTitle:[{lNo:Number,subLName:S

mongoDB实现分页的方法 mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的。下面这个是我的测试数据db.test.find().sort({"age":1});第一种方法查询第一页的数据

MongoDB进阶之动态字段设计详解 本文主要介绍的是关于MongoDB动态字段设计的相关资料,分享出来供大家参考学习,需要的朋友们下面来一起看看详细的介绍吧。适宜读者人群MongoDB开发

标签: mongodb操作语句

本文链接地址:https://www.jiuchutong.com/biancheng/312640.html 转载请保留说明!

上一篇:windows下安装mongodb以及node.js连接mongodb实例(mongodbwin7能安装么)

下一篇:mongoDB 多重数组查询(AngularJS绑定显示 nodejs)(mongodb 分组计数)

  • 高新技术企业亏损弥补
  • 出口退税进项税
  • 小规模公司的外汇业务
  • 行政单位利息收入可以扣除手续费
  • 企业所得税减免税额包括哪些
  • 对公户取备用金怎么取
  • 所有者权益股东权益
  • 固定资产盘点账务处理
  • 个税手续费返还计入哪个科目
  • 信用减值损失在借方
  • 销售货物未开发怎么处理
  • 运输过程中的货损责任
  • 用于购买固定资产的账户
  • 补提以前年度税费应该计入
  • 厂区折旧
  • 交通违章罚款有优惠吗
  • 待处理财产损益借方余额代表什么
  • 企业计提短期借款利息费用应贷记的会计科目是
  • 营改增之后税务是否可以征收入库?
  • 取得以前年度审计报告应归入阶段底稿
  • 2018年高新技术企业所得税
  • 定额发票使用年限规定
  • 税务申报没报上怎么办
  • 生产企业出口发票数量开错有什么影响
  • 融资租赁到期后资产归属
  • 电脑检测不到税控盘原因
  • 担保贷款造成的损失可以税前扣除吗?
  • 利息支出为什么不是经营成本
  • win11操作中心怎么关闭
  • 银行承兑汇票接收
  • 5000以下的固定资产当月一次性扣除怎么申报
  • multiple editions是什么版本
  • session php用法
  • 原版win10系统安装方法
  • win10电脑设备管理器在哪
  • 免税企业所得税的有
  • 港口机场铁路
  • 贝纳克波斯图干红葡萄酒
  • 斑鹿,滕波尔国家公园,印度 (© Ondrej Prosicky/Shutterstock)
  • 应收票据计提利息
  • laravel入门与实战:构建主流php应用开发框架
  • 首个ChatGPT开发的应用上线;ChatMind思维导图工具;中文提示词大全;Copilot平替 | ShowMeAI日报
  • phpcms教程
  • 哪些企业可以开13点税票
  • 金蝶现金流量表不对怎么处理
  • php添加
  • 研发人员旅游能计入研发费用吗
  • 小规模纳税人税率2023年是多少
  • 印花税所得税汇算清缴
  • 会计的借记和贷记什么意思
  • 出差的招待费应由谁承担
  • 一般纳税人应交税费二级科目有哪些
  • 征税小规模纳税申报
  • 包装物租金如何界定
  • 委托加工环节应税消费品应纳税额的计算
  • 冲回上月暂估入账的商品会计分录
  • 租房期间损坏应赔偿多少
  • 食品发票可以报销吗怎么报销
  • 企业代扣个人社保最新会计处理
  • 投标保证金退回是不是没中标
  • 企业预付账款的分录
  • mysql详细教程
  • xp字体无法安装
  • 使用组策略可控制什么
  • 视频对比度饱和度亮度最佳值
  • windows7没有声音怎么调
  • WARNING: /tmp: File system full, swap space limit exceeded的解决办法
  • 第三方win7系统哪个最好
  • 进程 电脑
  • win10开启预览
  • 你所知道的三维建模软件有哪些?
  • html截取字符串
  • android style文件
  • 学javascript的书
  • koa与node.js开发实战
  • 2015年5-6月关于Android用户隐私保护的3篇顶级论文【2015.5-2015.6】
  • 怎么查看keytab文件
  • 安装配置jsp运行环境
  • 贵州省税务网上缴费平台
  • 外贸高新技术企业认定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设