[英]Pymongo data saved by app is not available in mongo shell
我正在使用 pymongo 構建一個 flask 應用程序。 在我的 python 腳本中,數據按應有的方式使用 .save() 保存,並且可以按應有的方式使用 .find() 進行檢索,並且如果我重新啟動應用程序,它也會持續存在。 但是,如果我從另一個終端或在停止應用程序后從同一終端檢查 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)
output 是:
{'_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()
>
collections 沒有保留在我嘗試連接的 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
而且我不確定這些是否相關,但是當我輸入 mongo shell 時總是出現啟動警告:
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("20a57a18-201c-4393-a9a3-c0ee53e028e8") }
MongoDB server version: 4.2.8
Server has startup warnings:
2020-07-11T12:16:02.034+0000 I STORAGE [initandlisten]
2020-07-11T12:16:02.034+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2020-07-11T12:16:02.034+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2020-07-11T12:16:02.940+0000 I CONTROL [initandlisten]
2020-07-11T12:16:02.940+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-07-11T12:16:02.940+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-07-11T12:16:02.940+0000 I CONTROL [initandlisten]
在看到“連接到:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb”后,我試圖將 MongoClient 連接更改為“mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb”看看這是否可行,但它只是拋出和錯誤:
/home/vagrant/.local/lib/python3.6/site-packages/pymongo/compression_support.py:55: UserWarning: Unsupported compressor: disabled
warnings.warn("Unsupported compressor: %s" % (compressor,))
/home/vagrant/.local/lib/python3.6/site-packages/pymongo/common.py:756: UserWarning: Unknown option gssapiservicename
warnings.warn(str(exc))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.