Saya memiliki file JSON yang berisi data pesanan, jadi setiap pesanan memiliki bidang yang terlihat seperti ini (setiap baris_item hanya berisi 1 elemen dalam daftarnya):

"line_items": [
            {
                "id": 1994,
                "name": "Hoodie - Blue, No",
                "product_id": 21,
                "variation_id": 39,
                "quantity": 5,
                "tax_class": "",
                "subtotal": "225.00",
                "subtotal_tax": "0.00",
                "total": "225.00",
                "total_tax": "0.00",
                "taxes": [],
                "meta_data": [
                    {
                        "id": 14439,
                        "key": "pa_color",
                        "value": "blue",
                        "display_key": "Color",
                        "display_value": "Blue"
                    },
                    {
                        "id": 14440,
                        "key": "logo",
                        "value": "No",
                        "display_key": "Logo",
                        "display_value": "No"
                    }
                ],
                "sku": "woo-hoodie-blue",
                "price": 45,
                "parent_name": "Hoodie"
            }
        ],

Saya mencoba melakukan pencarian pymongo dengan kode ini:

mongo_orders = list(col_orders.find({"line_items[0].product_id": 21}, {"_id": 0}))

Tapi itu selalu tidak menghasilkan apa-apa. Bagaimana cara melakukan ini dengan benar?

0
William.D 13 Mei 2021, 07:12

1 menjawab

Jawaban Terbaik

Mencoba:

mongo_orders = list(col_orders.find({"line_items.0.product_id": 21}, {"_id": 0}))

Ini adalah contoh meminta array berdasarkan posisi indeks

0
Montgomery Watts 13 Mei 2021, 04:23