RethinkDB Регистрация и заказ с использованием Python

Я хотел бы присоединиться и заказать поле в RethinkDB. Мои таблицы и примеры данных:

Таблица категорий

{
"id":  "2be434e0-0f34-4705-ba7f-560437a8e65c" ,
"name":  "IT"
} {
"id":  "76db46b7-2b1b-4c6e-99dd-83852d921ec0" ,
"name":  "Electronic"
} {
"id":  "61774bf5-b197-4676-be95-873d6f701243" ,
"name":  "Motor"
}

Таблица предметов

{
"id":  "8d14ac9f-713c-4424-aba8-de2e6fb4d51a" ,
"category_id":  "2be434e0-0f34-4705-ba7f-560437a8e65c" ,
"item_name": 'Computer'
}
{
"id":  "266f34a7-b850-45b3-b15a-9fb59c90113d" ,
"category_id":  "2be434e0-0f34-4705-ba7f-560437a8e65c" ,
"item_name": 'Notebook'
}
{
"id":  "397e574c-0597-4198-97c6-33a50c6f464a" ,
"category_id":  "2be434e0-0f34-4705-ba7f-560437a8e65c" ,
"item_name": 'Smart Phone'
}
{
"id":  "3a080b71-a250-4616-a22b-c14483ce8be0" ,
"category_id":  "76db46b7-2b1b-4c6e-99dd-83852d921ec0" ,
"item_name": 'Generator'
}
{
"id":  "5a66eb5e-271a-47d6-8c4e-036fa06a0ea2" ,
"category_id":  "76db46b7-2b1b-4c6e-99dd-83852d921ec0" ,
"item_name": 'Air-Con'
}
{
"id":  "449ec1ef-dac0-42a3-aef9-e79f0556452a" ,
"category_id":  "61774bf5-b197-4676-be95-873d6f701243" ,
"item_name": 'Car'
}

Я хочу присоединиться и упорядочить по количеству полей таблицы в Python. Я хочу к следующему результату

{
"id":  "2be434e0-0f34-4705-ba7f-560437a8e65c" ,
"name":  "IT",
"count": 3
} {
"id":  "76db46b7-2b1b-4c6e-99dd-83852d921ec0" ,
"name":  "Electronic",
"count": 2
} {
"id":  "61774bf5-b197-4676-be95-873d6f701243" ,
"name":  "Motor",
'count': 1
}

Помоги мне, пожалуйста.

1 ответ

Решение
 r.table('Category').merge(lambda row:{'count':r.table('Item').filter({'category_id':row['id']}).count()}).order_by(r.desc('count')).run()

Я получил решение. Спасибо всем.

Другие вопросы по тегам