mongodb学习之旅笔记

开门见山

mongodb对用户设置的一些操作:

可参考 https://blog.csdn.net/jiestyle21/article/details/51819610
但是以上这篇文章createUser时写错了,正确写法是
db.createUser({user:"testadmin",pwd:"123456",roles:[{"role":"readWrite","db":"test"}]})

也可参考 https://blog.csdn.net/wuzuodingfeng/article/details/72869894 比较详细

或者这篇 https://blog.csdn.net/jianleking/article/details/79715097

  • 重点:出了超级用户admin数据库之外,如何新开一个数据库?

解决:参考 https://www.cnblogs.com/yulinfeng/p/10226977.html
一个数据库和一个user是绑定的,新开一个数据库就得新设一个user

再参考这个 https://blog.csdn.net/u013862444/article/details/80613376
同时附上两张图,以提醒自己如何做,切换到不同数据库下,e.g.先进入admin,认证一下,再用use new_db_name创建新库,用createUser创建新user与新库的契约,就行了。若还行继续新建库,则又切换回admin,认证,再继续

https://blog.csdn.net/a13662080711/article/details/79549212

ps: 删除指定库下的指定用户操作:
https://blog.csdn.net/qq_38839677/article/details/82421917


安装与常规操作:

参考 https://blog.csdn.net/weixin_40208575/article/details/81385648

番外:
1、我自己的windows下的mongodb服务进程好像已经配置为系统服务了(之前安装做的),而且mongo可执行文件也加入环境变量了,所以每次需要打开mongodb只需敲入mongo即可
2、第一次创建数据库的话,先创建admin:

use admin
db.createUser({user:"root",pwd:"root",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]}) 
db.auth("root", "root")
db.createUser({user:"jdh11",pwd:"123456",roles:[{"role":"readWrite","db":"test"}]})

坑:

** 有时候会遇到认证错误,网上找到的原因分析与解决方案:
problem: 开启认证模式之后,如果将用户名密码写入url中 默认连接的数据库是admin,事实上我所连接的数据库并不是admin 所以 用户名和密码是无效的 所以导致认证失败
fix: 在URL中指定所要连接的数据库 或者是 在 选择数据库之后 ( db = clint['log_fieldmap ']该代码之后 ) 添加认证 db.authenticate('username, 'pwd')

         ---------------------------------- 

** 对于在python中使用pymongo提示认证失败,解决如下:
参考 https://blog.csdn.net/zaishijizhidian/article/details/80075800
添加mongodb的用户名和密码,
但是好像按照这篇来写的话也会有错,正确写法应该是:
client=pymongo.MongoClient('mongodb://user:password@localhost:27017/')
参考:https://www.cnblogs.com/Wang-Y/p/9371143.html
另外,在pymongo中一般是先用client=pymongo.MongoClient('mongodb://user:password@localhost:27017/')来连接的是超级用户admin,再对其他数据库进行选择操作


番外:
robomongo可视化工具的安装:
https://www.cnblogs.com/microman/p/6207226.html

一般操作:
打开robomongo可执行文件robo3t,点击create,把name改成你想连接的数据库名;再点击authentication验证用户(如果你的mongodb配置设置了authentication是enable的话才执行这步),把name框里的admin改成你想连接的数据库名,接着填写user和pwd,save,最后双击该数据库就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值