为了账号安全,请及时绑定邮箱和手机立即绑定

应用程序保存的 Pymongo 数据在 mongo shell 中不可用

应用程序保存的 Pymongo 数据在 mongo shell 中不可用

慕妹3146593 2023-03-01 16:10:25
我正在使用 pymongo 构建一个烧瓶应用程序。在我的 python 脚本中,数据使用 .save() 保存,就像它应该的那样,并且可以使用 .find() 检索,如果我重新启动应用程序,它也会持续存在。但是,如果我从另一个终端检查 mongo 数据库,或者在停止应用程序后从同一个终端检查 mongo 数据库,则数据不存在。为了确保我正确使用 pymongo,我从 w3schools.com 复制并粘贴了以下基本脚本:#!/usr/bin/python3import pymongomyclient = 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 databasesadmin   0.000GBconfig  0.000GBlocal   0.000GB这是运行脚本后运行 show databases 的结果:> show databasesadmin   0.000GBconfig  0.000GBlocal   0.000GBmydatabase  0.000GB然而:use mydatabasedb.mydatabase.customers.find()>这些集合没有保存在我尝试连接的 mongo 服务器中,或者由于某种原因它们只是没有显示在 shell 中。这是我的 /etc/mongod.config 文件:(删除了注释行,因此 stackoverflow 不会将其格式化为标记)storage:  dbPath: /var/lib/mongodb  journal:   enabled: truesystemLog:  destination: file  logAppend: true  path: /var/log/mongodb/mongod.lognet:  port: 27017  bindIp: 127.0.0.1processManagement:  timeZoneInfo: /usr/share/zoneinfo
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

你想要的语法是:

db.customers.find()

在外壳上。您已经使用命令指定了数据库use

要列出集合,它是:

show collections


查看完整回答
反对 回复 2023-03-01
  • 1 回答
  • 0 关注
  • 62 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信