PyMongo - 按嵌套字段匹配

1 投票
1 回答
521 浏览
提问于 2025-04-18 04:44

我想知道在PyMongo这个API中,如何按顺序执行复杂的查询。我有一个数据库,想从中获取数据。这个数据库的特点是有一些字段,比如{id, username, ...},其中id又包含{uid, timestamp}。我想根据特定的uid来进行查询。我试过类似这样的代码:

db = client.test_database
db = client['trendSetters']
collection = db.test_collection
collection = db["cms_users_features"]
result =  collection.find_one()

for col in collection.find({"_id": {"uid": 702993}}):
    print col

编辑

for col in collection.find({"_id": {"uid": 702993, "timestamp":1393554289813 }}):
    print col

如果我添加timestamp,我就能执行我的查询。那么,如何在不添加timestamp的情况下做到这一点呢?

1 个回答

1

你可以通过在父字段名称和嵌套字段名称之间加一个点来访问嵌套字段,比如这样写:parent_field.child_field

这是解决方案:

for col in collection.find({"_id.uid": 702993}):
    print col

撰写回答