位置: 编程技术 - 正文

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 分组计数)

  • 财务要做哪些表
  • 城建税 申报表
  • 上月未记账本月可以记账吗
  • 小企业费用包括哪些
  • 取得运输业专用发票可以抵扣进项吗
  • 销售商品房属于什么税
  • 为了贷款支付的土地评估费用怎么会计处理?
  • 创投资本投入资金如何做账?
  • 产品销售员
  • 公司之间借款如何做账
  • 行政相对人和行政管理相对人的区别
  • 增值税预缴表填写模板
  • 小规模企业如何
  • 账本印花税计税金额或件数怎么申报2023
  • 独生子女补贴是给父母还是子女的
  • 企业所得税核定征收最新政策
  • 什么是清算资金
  • 上年留抵增值税怎么做账
  • 建筑安装预缴增值税
  • 框架采购合同如何计贴印花税?
  • 怎么计算研发费用占销售收入总额比例
  • 投资股权转让需要注意什么?
  • 商事账薄的特征
  • 打开浏览器时间长
  • 清除不必要的内存
  • 该内存不能为read怎么解决?win+r弹不出来也不好使
  • unc方式
  • 计提利息会计分录怎么做
  • 跨月未认证的发票可以作废吗
  • 资产处置损益要写明细账吗
  • 公司法人往公司账户转钱会计分录
  • 未税收入怎么做分录
  • js数组分组并排序
  • springboot项目结构讲解
  • linux 高并发网络编程
  • 短信php源码
  • 质量事故发生后,有责任就所发生的质量事故
  • 零申报有哪些
  • 帝国cms使用手册
  • 专利费用计入什么会计科目
  • 公司自有房产出租给员工如何处理
  • 根据工资总额组成的规定下列哪些列入工资总额的范围
  • 贸易企业出口退税计算方法
  • 公司优秀党员奖章
  • 开红字发票时,数量与金额必须是负数?
  • 一次性扣除固定资产出售处理
  • 工会经费多久缴纳一次
  • 应付账款重分类是什么意思
  • 进项税额加计10
  • 季节性停工折旧计入什么科目
  • 购车买的保险分别是什么
  • 公司多出来的钱怎么办
  • 公司开票分公司怎么做账
  • 城市生活垃圾处理方式有哪几种
  • 上市公司做会计有什么好处
  • mysql安装配置教程5.7.26
  • oracle的账户
  • winxp系统桌面图片
  • lsass.exe
  • 无线网络找不到证书
  • linux系统中怎么全选
  • win7升级win10系统版本软件还有吗
  • linux的newgrp
  • win8网络设置
  • win7复制粘贴快捷键经常失效
  • minidump文件怎么打开
  • unity监视器
  • node.js java 性能
  • unity常用api
  • jquery动态创建元素
  • jquery中有几种方法可以来设置和获取样式
  • android sdk api文档
  • 新能源免税申报,车辆类型怎么填
  • 刷医保的网络可以用外网吗
  • 企业获得的保险公司保险赔偿款收入
  • 江苏个体户年报怎么填
  • 网上怎么开电子一票通
  • 出成效的意思
  • 建筑类的发票
  • 国税申报时间2023年10月
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设