0

私は次のマングーススキーマとモデルを持っています:

//GameBoards
var gameBoardSchema = mongoose.Schema({
  mCurrentPlayer: Number,
  mCurrentPlayerName: String,
  mStarted: Boolean,
  mSwitching: Boolean,
  mFinished: Boolean,
  mPlayers: [{mPlayerId: String, mUsername: String, mHand: [{mValue: Number, mSuit:     String}], mFaceDown: [{mValue: Number, mSuit: String}], mFaceUp: [{mValue: Number, mSuit: String}], mPosition: Number, mSwitching: Boolean}],
  mDeck: [{mValue: Number, mSuit: String}],
  mPile: [{mValue: Number, mSuit: String}],
  mStartedAt: {type: Date},
  mLastUpdate: {type: Date},
  mChanceTaken: Boolean,
  mRoundLenght: Number,
  mNumberOfPlayers: Number,
  mLocked: Boolean
});
var GameBoard = mongoose.model('gameBoard', gameBoardSchema);

私のデータベースにはすでに4人のプレーヤーがいるgameBoardがあります。今、私は次のコマンドでデータベース内の特定のプレーヤーを更新しようとしています:

GameBoard.update({_id: game._id, "mPlayers.mUsername": updatedPlayer.mUsername}, {$set: {"mPlayers.$": updatedPlayer}}).exec();

しかし、これは機能していないようですが、エラーは発生しません=/。私は同じパラメータで検索を試みましたが、それは魅力のように機能します。誰かが私が間違っていることを特定できますか?

4

1 に答える 1

0

私はいくつかの異なることを試しましたが、マングースは $ が好きではないようです。「mPlayers.1」をやっているとき、それは魅力のように機能します:)

于 2013-03-17T18:28:46.000 に答える