Nói rằng tôi có một cái gì đó cấu trúc dữ liệu như thế này:tài liệu cập nhật lồng nhau trong MongoDB
{
'name': 'test',
'anotherdoc': {
'something': 'someval',
'somenum': 1
}
}
Bây giờ, nói rằng tôi muốn thiết lập một cái gì đó. Ban đầu, tôi mặc dù nó sẽ được thực hiện như vậy:
collection.update({'_id': myid}, {$set: {'anotherdoc.something': 'somenewval'});
Điều này, tuy nhiên, có vẻ không chính xác. Nó đặt một số dữ liệu trong đó, nhưng nó làm như vậy một cách kỳ lạ. Nó sẽ, trong trường hợp này, kết thúc như vậy:
[
{
'name': 'test',
'anotherdoc': {
'something': 'someval',
'somenum': 1
}
},
['anotherdoc.something', 'someval']
]
Tất nhiên, không phải những gì tôi đang tìm kiếm.
hm, trung thực tôi đã làm thử nghiệm này trong python, thay vì sau đó trong trình thông dịch. Nếu nó hoạt động với trình thông dịch thì vấn đề phải nằm trong việc thực hiện điều này trong python. Tôi sẽ đến với diễn đàn MongoDB nếu tôi vẫn không thể làm cho nó hoạt động được. – defrex
nếu 'anotherdoc.something' là một kiểu mảng, làm thế nào tôi có thể đẩy một phần tử khác vào đó? – Val