2

スキーマ内の iPad から最低価格を削除しようとしています。pymongo を使用して見つける方法は知っていますが、削除する方法はわかりません。ここに私のスキーマがあります:

{
    "_id": "sjobs",
    "items": [
        {
            "type": "iPod",
            "price": 20.00
        },
        {
            "type": "iPad",
            "price": 399.99
        },
        {
            "type": "iPad",
            "price": 199.99
        },
        {
            "type": "iPhone 5",
            "price": 300.45
        }
    ]
}
{
    "_id": "bgates",
    "items": [
        {
            "type": "MacBook",
            "price": 2900.99
        },
        {
            "type": "iPad",
            "price": 399.99
        },          
        {
            "type": "iPhone 4",
            "price": 100.00
        },
        {
            "type": "iPad",
            "price": 99.99
        }
    ]
}

iPad の最低販売価格を見つける Python ループがあります。

cursor = db.sales.find({'items.type': 'iPad'}).sort([('items', pymongo.DESCENDING)])
for doc in cursor:
    cntr = 0
    for item in doc['items']:
        if item['type'] == 'iPad' and resetCntr == 0:
            cntr = 1
            sales.update(doc, {'$pull': {'items': {item['type']}}})

それはうまくいきません。最安値の iPad アイテムを削除するにはどうすればよいですか?

4

3 に答える 3