位置: 编程技术 - 正文

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

  • 注册税务师报名条件
  • 国企的注册资本也很少吗
  • 企业出售商铺需要预缴增值税吗
  • 养猪场死猪处理方法
  • 合伙企业每年费用
  • 坏账计提坏账准备
  • 金蝶专业版利润表本年累计公式
  • 非流动资产处置损失属于什么会计科目
  • 销售费用与管理的关系
  • 盈余公积要是提多了能转回么
  • 劳务公司核定征收怎么交税的
  • 报关单金额大于合同金额
  • 利息支出税前扣除标准2020
  • 年金现值计算公式推导
  • 施工图审查费谁出
  • 一般纳税人税控维护费怎么填报
  • 固定资产损失如何计提
  • 计提所得税是在结转12月损益之前还是之后
  • 公司开租房发票,税钱由公司承担
  • 报价表含税点是什么意思?
  • 免税发票有几种类型
  • 没有成本票如何做账
  • 购进旅客运输服务抵扣会计分录
  • 企业所得税季报填报说明
  • 债券的实际发行价格为什么
  • 发票单据流水号
  • 物流公司怎么进去工作的
  • 企业所得税以前年度所得调整
  • 购买方已抵扣申请红票,销售方为开具 购买方如何作废
  • 8款应用
  • 招待费专用发票需要认证吗
  • 股东可以随时退出吗
  • RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depen
  • php在线阅读器源代码
  • php strrchr
  • 土地增值税的意思
  • 收到投资款投资人怎么感谢
  • javascript核心技术
  • htmlcss导航栏网页
  • 计提医疗保险费的会计分录
  • 历史成本和重置成本的区别
  • 资产负债表的负债项目显示了企业所负担债务的
  • 保险经纪公司要提取风险准备金按什么规定
  • 现金短缺或溢余指的是什么
  • 营业外支出影响企业利润吗
  • 应交税费为什么写在借方
  • 运费险保费计入什么费用
  • 月初没报完税可以开发票吗
  • 收到采购发票如何录入系统
  • 生活垃圾处理费合法吗
  • 每月工资不一样怎么算误工费呢
  • 银行承兑汇票背书转让会计分录
  • 以前年度出口退税未收汇
  • 三个月 租房
  • 年底暂估成本有风险吗
  • 防伪税控技术维护费普通发票怎么申报
  • 房租退回进项税额转出会计分录
  • 工地会计怎么做账
  • 购买苗木怎么做政府会计分录
  • 域名费计入哪个科目
  • 农业银行多级账簿可以代发工资吗
  • 新成立的企业可以申请一般纳税人吗
  • 特别提款权和普通提款权的区别
  • 由于这台计算机没有远程客户端访问许可证
  • winxp系统安装教程
  • winxp显示设置
  • [下载转存] 经验本题库源文件下载转存 秒结
  • ubuntu zed
  • win8.1无法连接wifi
  • scanserver.exe - scanserver是什么进程 有什么用
  • win10系统自定义设置
  • http状态码一览表
  • node.js在网页制作中的作用
  • cpu时钟预取实例是什么
  • kill某个进程
  • Python IDE PyCharm的基本快捷键和配置简介
  • 简述javascript
  • python面向对象编程心得体会
  • 中国税务报订阅电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设