Как искать данные из 2 коллекций в MongoDB, используя python

Мне нужно прочитать 2 коллекции данных из MongoDB в Python, есть ли способ объединить данные в Python?

0 ответов

Допустим, у нас есть две коллекции (таблицы):

  1. buy_orders
  2. sell_orders

Эти таблицы имеют одно и то же поле 'id_transaction', и мы хотим объединить эти таблицы в этом поле:

import pymongo


my_client = pymongo.MongoClient('mongodb://localhost:27017/')
my_db = my_client['Orders']
my_collection = my_db['buy_orders']
result = my_collection..aggregate([ {'$lookup' : {'from': sell_orders','localField': 'id_transaction','foreignField': 'id_transaction','as': 'results' }}])

Чтобы распечатать результаты:

for item in result:
    print(item)

Для большего количества ссылок: Документы MongoDB и Документы PyMongo

Посмотрите здесь

from bson.objectid import ObjectId

#the custom_id for reference
custom_id = ObjectId()

#creating user with the role admin
db.users.insert_one({"name": "Boston", "role_id": custom_id})

#Creating role with the custom id
db.roles.insert_one({"_id": custom_id, "name": "Admin")}

#lookup usage
db.users.aggregate([
                {
                    "$lookup":
                    {
                        "from": "roles",
                        "localField": "role_id",
                        "foreignField": "_id",
                        "as": "roles"
                    }
                }
            ])
Другие вопросы по тегам