6
나는 Mongoose/nodejs에서 새로운 편이며 배열 내의 배열을 간단하게 업데이트하는 데 어려움을 겪고있다. 여기 몽구스 업데이트 방법?
스키마입니다 :var County = new Schema({
_id : Schema.ObjectId,
name : String,
biggestCity : String
});
var Country = new Schema({
_id : Schema.ObjectId,
name : String,
counties : {type: [County], ref: "County"}
});
var Continent = new Schema({
_id : Schema.ObjectId,
countries : {type: [Country], ref: "Country"},
});
그리고 여기에 내가 노력했습니다 업데이트 코드입니다 :
var continents = mongoose.model("Continent");
var update = { "countries.counties.name": newName, "countries.counties.biggestCity": newBiggestCity };
var conditions = { "_id": countryId, "countries.name": countryName, "countries.counties.name": countyName };
var options = { multi: false };
wagers.update(conditions, update, options, function(err, numAffected) {
//callback code...
});
이 일을, ERR에 오류가 사용하여 배열에 추가 할 수 없습니다 "라는 문자열 필드 이름 'counties' ". 이것은 무엇을 의미 하는가? 내가 도대체 뭘 잘못하고있는 겁니까?
확인. 스키마를 다시 정의 할 필요없이 중첩 배열을 업데이트 할 수있는 다른 방법이 있습니까? – tremolo
@tremolo : 내 몽구스 부 (mongoose-fu)가 여전히 약하거나 그렇지 않을 수도 있지만 어쨌든 '국가'에 대한 스키마를 정의하는 것이 좋습니다. – Ashe
@ 트레몰로 : 새 코드로 질문을 업데이트 할 수 있습니까? – Ashe