合并两个 Mongodb Collections 和 select 唯一值(pymongo)
Merge Two Mongodb Collections and select unique values (pymongo)
我有 collection 的问题,collection 的销售额 collection 我有一个名为 item_id
的字段
我需要在每个 collection
上生成一个包含唯一项目 ID 的列表
示例:
订单collection:
{
"orderid": 1
"itemid": item1
},
{
"orderid": 2
"itemid": item2
},
{
"orderid": 3
"itemid": item4
}
问题collection:
{
"questionid":1
"itemid":item1
},
{
"questionid":2
"itemid":item2
},
{
"questionid":3
"itemid":item3
}
我要找的结果是这样的
项 collection :
{
"itemid":item1,
"itemid":item2,
"itemid":item3,
"itemid":item4,
}
使用以下方法从集合中获取不同的项目:col.distict('itemid')
然后在一组数据结构中聚合项目。
all_items = set()
orders = db.orders.distinct('itemid')
questions = db.questions.distinct('itemid')
for item in orders:
all_items.add(item)
for item in questions:
all_items.add(item)
最后 all_items 是一个包含两个集合中不同项目的集合,您可以根据需要将其转换为任何其他数据结构。
#inserting to item collection
col = db.items
for item in all_items:
col.insert_one({'item' : item})
将项目添加到集合中,保证元素的唯一性。
我有 collection 的问题,collection 的销售额 collection 我有一个名为 item_id
的字段我需要在每个 collection
上生成一个包含唯一项目 ID 的列表示例:
订单collection:
{
"orderid": 1
"itemid": item1
},
{
"orderid": 2
"itemid": item2
},
{
"orderid": 3
"itemid": item4
}
问题collection:
{
"questionid":1
"itemid":item1
},
{
"questionid":2
"itemid":item2
},
{
"questionid":3
"itemid":item3
}
我要找的结果是这样的
项 collection :
{
"itemid":item1,
"itemid":item2,
"itemid":item3,
"itemid":item4,
}
使用以下方法从集合中获取不同的项目:col.distict('itemid')
然后在一组数据结构中聚合项目。
all_items = set()
orders = db.orders.distinct('itemid')
questions = db.questions.distinct('itemid')
for item in orders:
all_items.add(item)
for item in questions:
all_items.add(item)
最后 all_items 是一个包含两个集合中不同项目的集合,您可以根据需要将其转换为任何其他数据结构。
#inserting to item collection
col = db.items
for item in all_items:
col.insert_one({'item' : item})
将项目添加到集合中,保证元素的唯一性。