У меня есть массив, содержащий поддокумент. Мне нужно взять поля внутри этого поддокумента за пределами поддокумента. Документ выглядит примерно так.Перемещение поля внутри массива
field1: "abc"
field2: "dsf"
field3: {
allowed-type: [
field4: "32"
}
Мне нужно взять поле 4 за пределами разрешенного массива и поместить его под поле3. Я попытался следующие
db.collection.find({}).forEach(function (doc) {
doc.field3.field4 = 'doc.field3.allowed-type.field4';
db.collection.save(doc); });
Проблема заключается в том, что массив позволил типа содержит дефис, так что я не могу относиться к нему без использования двойных кавычек. Но когда я использую двойные кавычки, поле4 будет назначаться «doc.field3.allowed-type.field4» как строка, а не принимать значение из doc.field3.allowed-type.field4.
как насчет '= doc.field3 ['allowed-type']. Field4'? –