使用 Python Eve API 和 MongoDB Atlas 的空 GET 响应
Empty GET Response Using Python Eve API and MongoDB Atlas
我目前正在使用 MongoDB Atlas,我正在尝试查看是否可以在云上测试之前通过 Eve 在本地访问数据。我在 settings.py 中有以下内容:
MONGO_DBNAME = "Nintendo"
MONGO_URI = "mongodb+srv://user:password@xyz.gcp.mongodb.net/test?retryWrites=true&w=majority"
Games = {
'schema': {
"Name": {'type': 'string'},
"Year": {'type': 'number'}
}
}
DOMAIN = {
"Games": Games
}
我在集合"Games"下有以下演示数据:
{"Name":"Legend of Zelda: Breath of the Wild","Year":2017}
{"Name":"Luigi's Mansion","Year":2001}
当我使用 http://localhost:1234/Games 查询演示数据时,我没有得到匹配的文档,而我希望有两个。具体来说,我得到以下响应:
<resource href="Games" title="Games">
<link rel="parent" href="/" title="home"/>
<_meta>
<max_results>25</max_results>
<page>1</page>
<total>0</total>
</_meta>
</resource>
我已经通过使用 PyMongo 驱动程序连接到 MongoDB Atlas 来检查 URI 是否正确,并且我还检查了数据库和集合名称是否正确。知道在这种情况下发生了什么吗?谢谢!
我想通了pymongo URI parser, that the URI was trying to access the test DB, instead of the Games DB. I believe this happens since Eve relies on Flask-Pymongo。我刚刚将上面的 URI link 从 "mongodb+srv://user:password@xyz.gcp.mongodb.net/test?retryWrites=true&w=majority" 更改为 "mongodb+srv://user:password@xyz.gcp.mongodb.net/Games?retryWrites=true&w=majority"。现在它起作用了!
我目前正在使用 MongoDB Atlas,我正在尝试查看是否可以在云上测试之前通过 Eve 在本地访问数据。我在 settings.py 中有以下内容:
MONGO_DBNAME = "Nintendo"
MONGO_URI = "mongodb+srv://user:password@xyz.gcp.mongodb.net/test?retryWrites=true&w=majority"
Games = {
'schema': {
"Name": {'type': 'string'},
"Year": {'type': 'number'}
}
}
DOMAIN = {
"Games": Games
}
我在集合"Games"下有以下演示数据:
{"Name":"Legend of Zelda: Breath of the Wild","Year":2017}
{"Name":"Luigi's Mansion","Year":2001}
当我使用 http://localhost:1234/Games 查询演示数据时,我没有得到匹配的文档,而我希望有两个。具体来说,我得到以下响应:
<resource href="Games" title="Games">
<link rel="parent" href="/" title="home"/>
<_meta>
<max_results>25</max_results>
<page>1</page>
<total>0</total>
</_meta>
</resource>
我已经通过使用 PyMongo 驱动程序连接到 MongoDB Atlas 来检查 URI 是否正确,并且我还检查了数据库和集合名称是否正确。知道在这种情况下发生了什么吗?谢谢!
我想通了pymongo URI parser, that the URI was trying to access the test DB, instead of the Games DB. I believe this happens since Eve relies on Flask-Pymongo。我刚刚将上面的 URI link 从 "mongodb+srv://user:password@xyz.gcp.mongodb.net/test?retryWrites=true&w=majority" 更改为 "mongodb+srv://user:password@xyz.gcp.mongodb.net/Games?retryWrites=true&w=majority"。现在它起作用了!