我试图在mongoose中运行这样的命令:
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:无法调用未定义的方法'path']
我猜它与mongoose和$运算符有关,因为它可以在mongodb控制台中运行。
有什么想法吗?
答案 0 :(得分:0)
我也和mongoose有类似的问题,也许可以编辑你的帖子来查看架构。我通过在我的架构中进行以下修改来修复我的问题:<
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})]
});
您可能需要对架构中的播放列表embeddedDoc参数进行此修改。