一、MongoDB配置修改不生效的问题:今天由于某个缘由,须要修改mongodb的配置文件。 改完之后,在init.d里面restart命令重启server,后来stop又start重启server。修改都不能生效,后来stop之后看了一下进程,发现mongodb依然活着,原来相关命令根本不生效。不过它提供了force动做命令,我懒得用命令了,直接shutdown -r,配置修改生效。环境:ubuntu14.04mysql
二、MongoEngine的链接参数问题,正确的写法应该是:sql
connect(username="username", password="password", host="mongodb://username:password@123.57.59.76:27017/resultdb")
若是你只在函数参数中写用户名密码,在host字符串中不写,可能致使查询因权限问题失败的提示:not authorized for query on db.collecitonname 的错误。mongodb
三、Django中使用MongoDB,刚开始用mongodb-engine,后来发现它有个缺憾,使用它的话,Django自己都得使用该工具官方改造过的版本。后来改用mongoengine这个ORM解决方案,不过这个ORM当前状态,还不能彻底做为Django生产环境的Backend使用。数据库
四、在pyspider中用这个作后台数据库使用,原本是想发挥其JSON威力,想不到pyspider在后台存储结果直接就是JSON字符串,说白了成了数据库的string字段,没有起到预想的做用。ubuntu
五、第三条的mongoengine也有个纠结的问题,若是数据库JSON对象里面有个某个键值字段,而ORM Document里面没有定义这个字段,读数据的时候会报错,这一点和RDB的ORM区别很大。nosql
六、使用mongodb这种nosql数据库就像使用SQL关系数据库同样,使用关系数据库,使用什么API,本身都得懂SQL,使用Mongodb也同样,使用什么库操做它,本身都得对其操做指令比较熟悉。ide