加入替代:在pymong中查询两个集合

2024-10-16 22:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个独立的MongoDB系列库存和出售。在

我想把某些股票类型的所有项目都卖出去。 股票类型的信息在另一个名为stock的集合中,两者都有唯一的股票指数。在

因为我不能加入MongoDB,所以我试图查询这两个集合。 最好的办法是什么?在

我试过:

cursor1 = db.stock.find({
    "$or": [
        {“Stock_Type": 1},
        {“Stock_Type": 2},
        {“Stock_Type": 3},
        ]
    })

stock_id = []

for i in cursor:
    stock_id.append(i.Stock_Index)

cursor2 = db.sold.find({
    "$and": [
        {“Stock_Index": {"$in": stock_id}},
        {“Month”: “February},
        {“Category”:5}
        ]
    })

在上述情况下,我得到一个内部服务器错误:

AttributeError: 'dict' object has no attribute 'Stock_Index'

提前感谢您的回复。在


Tags: 项目in信息id类型dbindexmongodb
1条回答
网友
1楼 · 发布于 2024-10-16 22:27:46

在PyODB中,每一个文档中都有一个游标。不能使用点表示法访问词典中的项目,请使用:

stock_id = []
for i in cursor:
    stock_id.append(i["Stock_Index"])

或者,用list comprehension

^{pr2}$

作为补充说明,您不可能在单个查询中完成,因为您无法在一个查询中联接两个集合,请参阅以下网站的更多信息:

相关问题 更多 >