一、安装后常见问题:
当我们在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为降序