千家信息网

MongoDB日常使用的技巧与注意事项有哪些

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章给大家分享的是有关MongoDB日常使用的技巧与注意事项有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、查找数组字段不为空的记录查找数据中数组字段不为空的记
千家信息网最后更新 2025年11月16日MongoDB日常使用的技巧与注意事项有哪些

这篇文章给大家分享的是有关MongoDB日常使用的技巧与注意事项有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、查找数组字段不为空的记录

查找数据中数组字段不为空的记录。

举个例子:有以下Mongo文档,

{ "id" : "581c060f2b436c05aafb1632", "commit_history" : [  "581c20d52b436c05aafb1633",  "581c21c12b436c05aafb1634" ]},{ "id" : "581c060f2b436c05aafb1633", "commit_history" : []}

想要查找commit_history不为空的记录,有以下方法:

方法一: db.collection.find({commit_history: {$not: {$size: 0}}})

方法二: db.collection.find({'commit_history.0': {$exists: 1}})

二、MongoDB添加用户

在MongoDB中为一个Collection添加用户,可以如下操作:

use collection_name 切换到某个库

db.createUser( { user: "collection_name", pwd: "password", roles: [ "readWrite", "dbAdmin" ] })

三、有的时候需要删除指定字段那一列,使用update操作。

例如要删除name这一列:

query json:

{"name":{$exists:true}}

update json:

{$unset:{"name":""}}

四、数据导出,在mongodb的bin目录执行mongoexport命令并设定相关的参数

例如:

./mongoexport -h 192.168.0.201 --port 27017 -d admin -u admin -p admin -c department -o /home/admin/department.dat
  • -h:指定要连接的数据库的ip;

  • --port:指定要连接的数据库的端口;

  • -u:指定要连接的数据库的用户名;

  • -p:指定要连接的数据库的用户密码;

  • -d:指定要连接的库名;

  • -c:指定要导出的数据集合;

  • -o:指定要导出的数据目标存放地址;

注: (1)、需要保证连接的数据库处于正常运行状态中;

(2)、我曾遇到过一中情况,数据库中加入了用户信息,启动时是没有以用户验证的方式启动,但是执行这个命令的时候,还是在我指定了用户名和密码的情况下才导出成功,如果有人遇到相似情况,不妨一试。

五、数据导入,在mongodb的bin目录执行mongoimport命令并设置相关的参数,参数解释和上边一样

例如:

./mongoimport --port 27017 -d admin -u admin -p admin -c department /home/common/mongodb305/bin/department.dat

六、非amdin数据库的用户验证问题:

我们给mongodb数据库中的库添加用户,可以在目标数据库中使用如下命令,例如在mongoTest库中添加一个拥有读写权限的用户:

db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})

也可以在admin数据库中添加:

db.createUser({"user":"test","pwd":"123456","roles":[{"role":"readWrite","db":"test"},"readWrite"]})

要注意的是:这两种方式是有区别的,也正是这个区别曾坑了我一把:

使用第一种方式添加的时候,我们可以在mongodb的bin目录下直接执行如下命令进入test数据库中操作,增删改查都可以;也可以使用这个用户 名和密码在mongoVUE中连接:

./mongo -h 192.168.0.201 --port 27017 -u test -p 123456 -d test

但是如果是第二种方式创建的,那么再直接使用上边的命令,会提示验证失败,只有当先进入mongo shell连接到admin数据库,再切换到test数据库的时候才能验证通过。这算是一个小坑,不明情况的或许会非常纠结,明明用户名和密码没问题,却不知为什么就是连不上。

七、mongodb3.0默认的数据存储方式还是原来2.6一样的,我尝试过更改为新的存储方式,在启动时使用如下参数,但需要注意的是,需要在数据库中没有数据的前提下才可以,否则会报错:

./mongod -f /mongodb304/conf/mongodb.conf --storageEngine wiredTiger

mongodb.conf中配置了启动的其他各种参数,如dbpath、logpath等。

感谢各位的阅读!关于"MongoDB日常使用的技巧与注意事项有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 数据库 用户 命令 方式 参数 密码 情况 时候 验证 字段 方法 用户名 目录 事项 技巧 注意事项 上边 内容 数组 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 机械软件开发的课题 召开网络安全法座谈会 山东计算机网络技术学校排名 数据库限定数据的输入格式 企业网络安全方案设计与实现论文 江西使用软件开发创新服务 数据库中有几个表格创建几个视图 在数据库中保证数据正确的特征是 怎么查远程服务器还有多久到期 天津电商软件开发团队 软件开发sa什么职位 浦口区一站式软件开发售后服务 网络安全管理与审计系统 北京财小神网络技术有限公司 网络安全理智追星的手抄报 高职软件开发在苏州好就业吗 数据库字段怎么存列表 厦门不动产数据库 网络安全选题特色 旧服务器改装 服务器支持的并发量 实用网络技术考试试题 花园战争二如何切换服务器 如何设置域名和服务器关联 国家专利数据库能找绿色专利 我的世界服务器帐号 表格怎么快速选择数据库 数据库执行计划的书 提供网络安全环境 软件开发到使用过程
0