一、安装后常见问题:
当我们在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 --repair2.第二个问题是当你在后台启动了一个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.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |