使用 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"。现在它起作用了!