Хорошо, поэтому, используя Python и MongoDB, я пытаюсь встроить вложенный документ в массив с пользовательским значением ключа в массиве. Я экспериментировал со всевозможными способами сделать это, и я не мог понять, что я делаю неправильно, поэтому я временно остановился на рабочем коде ниже. Многочисленные попытки всегда приводят к ошибке:
в _check_write_command_response поднять OperationFailure(error.get("errmsg"), error.get("код"), error) pymongo.errors.OperationFailure: пунктирное поле 'first.rule' в 'followedBy..first.rule' не действительны для хранения.
Код:
citizens.update(
{"_id" : userPush},
{"$push": {"followedBy":[field[1], field[2], field[3], field[0]]}})
Производит:
"_id" : ObjectId("5…asfd"),
"uName" : "tim0",
"fName" : "tim",
"lName" : "lost",
"pic" : null,
"bio" : "I <3 MongoDB",
"followedBy" : [
[
"BobTheBomb",
"bobby",
"knight",
NumberInt(2)
],
[
"Robert",
"DROP",
"TABLE",
NumberInt(6)
]
Это то, что я хочу:
"_id" : ObjectId("5…asfd"),
"uName" : "tim0",
"fName" : "tim",
"lName" : "lost",
"pic" : null,
"bio" : "I <3 MongoDB",
"followedBy" : [
"BobTheBomb": {
"fName" : "bobby",
"lName" : "knight",
"uID" : NumberInt(2)
},
"Robert": {
"fName" : " DROP ",
"lName" : " TABLE ",
"uID" : NumberInt(6)
}
]