2016-04-26 7 views
0

私は回避策がありますが、なぜこれが失敗しているのか不思議です - 私のところでJavaScriptエラーですか? 私のアプリは2つのモデルを使用しています。私は以前にMVCで作成されたJSONモデルを永続化するためにForerunnerを使用しています。
Forerunnerプライマリキーをオブジェクトに格納して、(最初のモデルでは)そのキーがForerunnerモデルでのみ使用されるようにします。 キーは両方のモデルに保存する必要があります。最初のモデルが変更されたら、すぐにForerunnerモデルを更新できます。これは2つのモデル間のリンクです。ここで Forerunnerデータベースコレクションにプライマリキーを作成する場合、キープロパティはコレクションオブジェクトのオブジェクトの内部に存在できますか?

は、コードサンプルが説明することである。

var games = db.collection("games", { 
    primaryKey: "gamedb._id" 
}); 

games.insert({ 
    gamedb : { 
     _id: 1, 
    }, 
    userDesc : "original 11x11", 
    Size : [11,11], 
    Plays : [] 
    . 
    . 
}, function (result) { 
     console.log(result); 
}); 

私はそれを試していた、そして今の私は、コレクションのプロパティとしてキーを残しているので、混乱の結果を得ました。 上記のコードサンプルを使用して、私の試みのconsole.logの結果を以下に示します。先駆者のinsert()は失敗しませんでした。 プロパティ 'gamedb._id: "225b ..."が混乱しています。
提案や洞察をお寄せいただきありがとうございます。

gamedb : Object 
    _id: 1 
    gamedb._id: "225b3c25aeb38a0", 
} 
. 
. 

答えて

1

ForerunnerDBの主キーは、現在オブジェクトのルートに存在する必要があります。主キー "gamedb._id"を作成するように指示すると、その文字列をパスとして解析していないので、それをルートキーとして渡すと仮定しています。 {"gamedb._id":myId}

ForerunnerDBを更新してネストされたプライマリキーを許可する予定がありますが、これは現在できません。

出典:私はForerunnerDBを書いています

+0

ありがとうございました –

関連する問題