私はすべての埋め込みドキュメントを更新したいと思っています。ここに私の文書があります:複数のネスト/埋め込みドキュメントmongodbを更新するにはどうすればよいですか?
私は試しましたが、同時に動かすことはできませんでしたが、最初の埋め込み文書を変更するだけで動作します。ここに私のコードは次のとおりです。
db.chat.update({"_id":"2", "chat.sender":"foo"},{$set{"chat.$.status":"sent"}},{multi:true})
私は文書がこのように更新されると、それはのように同時に1つのプロセスで変更されている必要がありますしたい:
{
"_id":1,
"chat":[
{ "sender":"bar",
"message":"Hi",
"status":"pending"
},
{ "sender":"bar",
"message":"How are you?",
"status":"pending"
}
}
{
"_id":2,
"chat":[
{ "sender":"foo",
"message":"Hello",
"status":"sent"
},
{ "sender":"foo",
"message":"Are you okay?",
"status":"sent"
},
{ "sender":"someone",
"message":"Where are you?",
"status":"pending"
}
}
あなたはこの問題を解決する方法を知っている場合は、私を助けてください...
私はそれがどのようにPHPで実装するのですか? db-> chat-> find(array( "_ id" => "2"))そして? –
ようこそ。申し訳ありませんが、PHPについてお手伝いできません。 mongodb PHPライブラリでそのクエリを使用する方法がなければなりません。 –
@ Hasanが条件を見つける必要があります:{"_id":2}、あなたのansを編集してください。 – radhakrishnan