我正在使用 pymongo 构建一个烧瓶应用程序。在我的 python 脚本中,数据使用 .save() 保存,就像它应该的那样,并且可以使用 .find() 检索,如果我重新启动应用程序,它也会持续存在。但是,如果我从另一个终端检查 mongo 数据库,或者在停止应用程序后从同一个终端检查 mongo 数据库,则数据不存在。为了确保我正确使用 pymongo,我从 w3schools.com 复制并粘贴了以下基本脚本:
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "address": "Highway 37" }
obj = mycol.insert_one(mydict)
obj = mycol.find_one()
print(obj)
输出是:
{'_id': ObjectId('5f09b0c4dfedb570e2f5411e'), 'name': 'John', 'address': 'Highway 37'}
就像你期望的那样。这是运行上述脚本之前显示数据库的结果:
> show databases
admin 0.000GB
config 0.000GB
local 0.000GB
这是运行脚本后运行 show databases 的结果:
> show databases
admin 0.000GB
config 0.000GB
local 0.000GB
mydatabase 0.000GB
然而:
use mydatabase
db.mydatabase.customers.find()
>
这些集合没有保存在我尝试连接的 mongo 服务器中,或者由于某种原因它们只是没有显示在 shell 中。这是我的 /etc/mongod.config 文件:(删除了注释行,因此 stackoverflow 不会将其格式化为标记)
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
噜噜哒
相关分类