1、环境:
Python:3.7.3
Python IDE:pycharm
系统:win10
2、windows运行并配置mongoDB服务
(1)在安装好mongoDB之后,首先配置你的环境变量(略),然后进入你的安装位置文件夹可以看到
在此目录下我们创建一个data文件夹(名称可以任意),然后打开cmd(用管理员身份运行)输入mongod --dbpath + 你的data路径,如Mongod --dbpath D:\mongoDB\data,这样我们便启动了MongoDB服务
然后我们就可以通过cmd输入mongo或使用Pycharm编写Python代码来操作数据库了。
(2)安装服务
mongoDB与mysql等数据库不同,mysql在电脑上安装好了往后都能自启动服务,非常方便,直接连接就好。而mongoDB则需要手动创建,如果你希望能像mysql一样,不需要每启动服务就能直接连接mongoDB数据库,就手动创建服务。(当然如果你不嫌麻烦的话也可以不创建,对你使用mongoDB来说没有任何影响)。
①首先在你的存放数据的文件(我的是data)同级目录下创建一个log文件夹(由于我直接在安装文件里创建了data,所以data、bin都在同级目录下)
②在安装目录中创建一个文件mongod.cfg
内容如下
systemLog:
destination: file
path: D:\mongoDB\log\mongod.log
storage:
dbPath: D:\mongoDB\data
③使用管理员权限打开一个cmd,输入mongod --config "D:\MongoDB\mongod.cfg" --install执行。
④此后打开系统服务就可以找到mongo的服务了,找到后启动此项服务。
此后,如果我们再需要连接mongoDB就可以直接连接了,而不需要再在cmd里通过输入“mongod --dbpath + 你的data路径”来启动。
3、一个简单例子
通过几行python代码从mongoDB的test数据库中读取集合col(表col)中的数据(数据是我之前在菜鸟驿站学习mongoDB时通过cmd在test库中的col表插入的)
import pymongo
mongo_url = "127.0.0.1:27017"
client = pymongo.MongoClient(mongo_url)
DATABASE = "test"
db = client[DATABASE]
COLLECTION = "col"
db_coll = db[COLLECTION ]
queryArgs = {'by':'菜鸟教程'}
search_res = db_coll.find(queryArgs).sort('age',-1)
for record in search_res:
print(f"_id = {record['_id']}, title = {record['title']}, url = {record['url']}")
运行结果:
4、Mongodb解决不能连接到服务器的错误
(1)在我某次连接MongoDB的时候,出现了以下错误:
MongoDB shell version: v3.4.2
connecting to: test
Mon Mar 3 23:45:09.491 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145
exception: connect failed
导致这个原因有两个:
①你的电脑没有启动mongoDB服务,解决方法:
打开cmd输入mongod --dbpath + 你的data路径
或已配置服务的可直接打开计算机管理找到mongo直接启动服务即可。
②上次关闭Mongodb不当,数据文件还继续占用,正常退出因该是exit命令
解决方法:
删除掉D:\MongoDB\data中的mongod.lock文件,开启MongoDB服务