0
我想同時更新單個mongo文檔中的兩個數組(在python shell中)。當我運行下面的代碼時,它似乎工作正常,直到我看到只有兩個數組中的第二個已被更改。我嘗試過使用類似的代碼,我已經使用$ set和$ push同時進行了更新,這看起來很好,但是沒有在單個update_one語句中使用$ push操作符兩次。
>>> mongo = MongoClient()
>>> result = mongo.db.stuff.insert_one({'a':[], 'b':[]})
>>> result.inserted_id
ObjectId('56694d602fdf6a293fef8ebd')
>>> mongo.db.stuff.update_one({'_id':ObjectId('56694d602fdf6a293fef8ebd')}, {'$push': {'a':'1'}, '$push': {'b':'2'}})
<pymongo.results.UpdateResult object at 0x105aac460>
>>> mongo.db.stuff.find_one({'_id':ObjectId('56694d602fdf6a293fef8ebd')})
{u'a': [], u'_id': ObjectId('56694d602fdf6a293fef8ebd'), u'b': [u'2']}
任何想法可能會發生在這裏以及如何使它工作?