Ошибки позиционного оператора Mongoose - PullRequest
2 голосов
/ 16 января 2012

Я пытаюсь запустить команду в мангусте:

Song.update({url: s.url, "playlist.playlist_id": pl._id}, {$set: {"playlist.$.position": 505050}}, function(er, da) {
                                    console.log("song on playlist lets change position");
                                    console.log(er);
                                    console.log(da);
});

однако я получаю сообщение об ошибке: [TypeError: Невозможно вызвать метод 'путь' из неопределенного]

Я предполагаю, что это связано с mongoose и $ operator, потому что он работает в консоли mongodb.

Есть идеи?

1 Ответ

0 голосов
/ 22 января 2012

У меня была похожая проблема с mongoose, возможно, отредактируйте ваше сообщение, чтобы увидеть схему. Я исправил свою проблему, выполнив следующую модификацию в моей схеме: <</p>

var Result = new Schema({

    id                : Number,
    detailResult   : [detailRef], 
    simpleResult   : [{id: ObjectId, unit: String, value: Number, completed: Boolean}]
});

Обратите внимание, что в рабочем примере (ниже) я добавил new mongoose.Schema()

var Result = new Schema({

    id                : Number,
    detailResult   : [detailRef], 
    simpleResult   : [new mongoose.Schema({id: ObjectId, unit: String, value: Number, completed: Boolean})]
});

Вам, вероятно, нужно внести эту модификацию в свой встроенный параметр playDoc плейлиста в вашей схеме.

...