irpas技术客

Mongodb基本使用与常见问题_学习_1_mongodb常见问题

irpas 2864

一、安装后常见问题:

当我们在mongodb中创建生产环境后,常见的问题有以下二个:

(1)当我们关闭虚拟机或者主机时并没有关掉生产环境,此时就会产生错误,经常如下图:

about to fork child process, waiting until server is ready for connections. forked process: 11396 ERROR: child process failed, exited with error number 48 To see additional information in this output, start without the "--fork" option.

这是由于mongodb产生了一个锁文件,我们需要到我们配置的存放数据库的地方删除mongodb.lock文件,然后再找到我们创建mongod的运行指令地方后添加--repair进行运行。

具体操作流程如下:

(1)使用ps指令找到我们存放mongod指令的位置(这对于采用命令行安装的方式较为有效,其他凡是可以自己找自己存放目录)

(找mongod.lock同样方法,把-name后面参数进行修改即可)

?(2)删掉mongod.lock后,在可执行命令mongod处,执行:

sudo ./mongod --dbpath=/data/db --logpath=/data/log/mongo.log --logappend --fork --repair

2.第二个问题是当你在后台启动了一个mongod的生产环境后,如果再启动一个就会有该问题:

about to fork child process, waiting until server is ready for connections. forked process: 8440 ERROR: child process failed, exited with error number 100 To see additional information in this output, start without the "--fork" option.

此时可以查看进程来确定是否有:

ps -aux | grep mongod

二、mongodb客户端的启动与关闭及数据库查询

开启mongodb:

mongo

关闭mongodb(ctrl-c)

exit

关闭mongodb生产环境:

use admin db.shutDownserver()

查询数据库:

show databases 简写可以为: show dbs

使用数据库:

use 代码库名字

查询库中存的集合,该集合其实可以理解为多条字典数据的集合

show collections

我们想要使用数据库时,只需要先use 你自己想要定义的数据库,然后在其中创建一个集合或者插入一条数据就默认创建成功了,插入数据其实也创建了一个集合:

?

?

方框选中地区为集合

三、mongodb的增删改查

(1)增,采用集合加insert的方式增加:

(2)删除

db.happy.remove({gender:"boy"})

(3)改,采用update进行操作:

db.happy.update({age:18},{$set:{gender:false}},{multi:true}) #multi表示修改多条数据 db.happy.update({age:18},{$set:{gender:false}},{upsert:true}) #upsert表示有则改没则加

(4)查,采用$字符搭配ge,le,gte,lte,ne (学过django的同学,对于filter()里qt等字符绝对不陌生):

db.happy.find({age:{"$gt":18}}) db.happy.find({age:{"$gte":18}})

采用$and或$or进行多条件查询:?

db.happy.find({"$and":[{age:{$gt:18}},{gender:true}]})

四、其他操作

1.分页操作

db.happy.find().skip(2).limit(2)

?2.去重

db.happy.distinct('name')

3个数,投影和排序

db.happy.find().count() #count()中也可以加条件 db.happy.find({},{"name";1}) #前一个为查询限制,后一个为要查询的字段 db.happy.find().sort({age:1}) # 1为升序, -1为降序


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #mongodb常见问题 #To #Fork #child #process #waiting