Pimongo создать дикт на основе группового матчаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pimongo создать дикт на основе группового матча

Сообщение Anonymous »

Я новичок в Pimongo и не могу обернуть голову вокруг логики создания вложенной группы и совпадения. Создайте список логических имен, используемых для моделей. < /p>
Вывод, который я хочу создать, или рядом с ним. {
{"Model-1", {Devices: ["Name-1","Name-4"]},
{"Model-2", {Devices: ["Name-2","Name-3"]}
}
< /code>
Mongo DB Данные: < /p>
[
{
"_id": "1",
"cdate": {
"$date": "2023-11-16T00:00:00.000Z"
},
"AP Name": "Name-1",
"Model": "Model-1"
},
{
"_id": "2",
"cdate": {
"$date": "2023-11-16T00:00:00.000Z"
},
"AP Name": "Name-2",
"Model": "Model-2"
},
{
"_id": "3",
"cdate": {
"$date": "2023-11-16T00:00:00.000Z"
},
"AP Name": "Name-3",
"Model": "Model-2"
},
{
"_id": "4",
"cdate": {
"$date": "2023-11-16T00:00:00.000Z"
},
"AP Name": "Name-4",
"Model": "Model-1"
}
]
< /code>
мой код: я не думаю, что это лучший способ сделать это .. так что любая помощь или предложения были великолепны. < /p>
def mongo_aggregate_tags(foo_coll, foo_keyword, foo_match, x):
agg_sites = foo_coll.aggregate(
[
{"$match": {f"{foo_match}": x}},
{"$group": {"_id": f"${foo_keyword}"}},
{"$sort": {foo_keyword: 1}},
]
)
return agg_sites

for f_item in coll_inv.distinct("Model"):
for x in mongo_aggregate_tags(coll_inv, "Model", "AP Name", f_item):
print(x, " ", f_item)
print(type(x))
< /code>
Вывод, который я на самом деле получаю, выглядит так: < /p>
{'_id': 'Model-1'} Name-1
{'_id': 'Model-1'} Name-4
{'_id': 'Model-2'} Name-2
{'_id': 'Model-2'} Name-3


Подробнее здесь: https://stackoverflow.com/questions/794 ... roup-match
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»