位置: 编程技术 - 正文

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年购进农产品的扣除率
  • 农林牧渔业税务优惠
  • 取得带息应收票据时,企业应于期末计算票据利息
  • 应用商店获取无反应
  • 在win7系统中如何让电脑恢复出厂设置方法
  • ubuntu16.04lts
  • 触电了该怎么做
  • 工伤单位支付
  • 审核凭证要注意哪些问题
  • 存货包括哪些会计账户
  • 北极熊睡觉图片卡通
  • 存货损失是指什么
  • 已抄报未反写什么意思
  • vue set up
  • 前端实战开发
  • pwd命令的用法
  • 上缴税金怎么算税额
  • 冲减多计提的工资怎么做账
  • 没授权的帝国cms作为商用行吗
  • 银行账户收费开什么发票
  • 超过认证期限的发票未抵扣能红冲吗
  • 将表里的数据批量删除
  • 新个税累计免税额
  • 暂估成本多了
  • 收据可以当发票吗?
  • shell取命令执行结果
  • 计提坏账准备的方法
  • 信用证保证金账户属于什么账户性质
  • 哪些拍卖行为不属于诈骗
  • 以土地出资的税费怎么算
  • 员工社保报销流程
  • 暂估商品入库 后收到发票怎么做分录
  • 两个其他应收款的区别
  • 物业公司代收电费可以差额征税吗
  • 资产收购一般税务处理
  • 未分配利润如何计算
  • 如何计算技术转让所得
  • 案例分析以前年龄的变化
  • 2018年水利建设基金税率
  • 商品型企业
  • 昂达主板插线安装图解
  • win7系统清理c盘空间不足
  • windows 10微软
  • Win10无法获取ipv4
  • 怎样从零开始
  • python自动报表
  • linux dig命令
  • 显示自己的ip的手机
  • unity rpg插件
  • jquery里的ready是什么意思
  • 用python抓取网页数据的代码
  • nodejs怎么连接mysql
  • JQuery点击行tr实现checkBox选中的简单实例
  • Python运行报错此段代码无法访问
  • 房产税季度缴纳几号之前
  • 广州市税务局副局长陈忠文
  • 小微企业印花税税率
  • 税务负责人
  • 梨树烧烤一条街打人
  • 二手房交易契税减免政策
  • 临沂市2020年居民燃气价格
  • 增值税预缴税款退税申请怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设