2012-01-16 9 views
2

私はマングースに、このようなコマンドを実行しようとしています:マングース位置オペレータのエラー

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コンソールで動作するので、それはmongooseと$演算子と関係があります。

アイデア?

答えて

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パラメータ

+0

これは機能しますか? – Lion789

+0

1年半前にしました。モンゴースは以来変わっていた可能性があります。 – guiomie