hua_mongodb操作命令

启动/关闭mongodb

mongod --config /home/hua/mongodb/etc/mongodb.conf
mongod --config /home/hua/mongodb/etc/mongodb.conf -shutdown
/home/admin/mongodb-4.0.10/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"  


设置超级用户

use admin
db.createUser(
     {
       user:"root",
       pwd:"root",
       roles:[{role:"root",db:"admin"}]
     }
  )

删除数据库

# 查看所有数据库
show dbs
#切换到testdb下
use testdb 
#删除数据库
db.dropDatabase()

删除集合

db.collection.drop

权限登录验证:

db.auth("username","password")

查看集合:

show collections

查看集合信息

db.集合名.stats

cursor超时

1.修改MongoDB的配置,延长游标超时时间,并重启MongoDB。由于生产环境的MongoDB不能随便重启,所以这个方案虽然有用,但是排除。
2.一次性把数据全部读取下来,再做处理:

all_data = [row for row in handler.find()]
for row in all_data:
    parse(row)

3.每次连接数据库,只返回50行数据

for row in handler.find().batch_size(50): 
    parse_data(row)

4.让游标永不超时。通过设定参数no_cursor_timeout=True,让游标永不超时

cursor = handler.find(no_cursor_timeout=True)
try:
 for row in cursor:
 parse_data(row)
except Exception:
 parse_exception()
finally:
 cursor.close() # 一定要手动关闭游标

mongodb.conf

port=27017
bind_ip=0.0.0.0
dbpath=/home/admin/mongodb-4.0.10/data/
logpath=/home/admin/mongodb-4.0.10/logs/mongodb.log
pidfilepath=/home/admin/mongodb-4.0.10/mongo.pid
fork=true
logappend=true
#auth=false
auth=true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值