以前の質問で、埋め込まれた MongoDB ドキュメント内のエントリを見つける方法について尋ねました。今、新しい問題に取り組んでいます。私の構造は次のようになります:
{
"_id" : ObjectId("5260c4bd95f8e3ad08000000"),
"ip" : "127.0.0.1",
"services" : [
{
"port" : "22"
}
]}
ポートが 22 の services.port に新しいキーと値のペアを追加して、次のようにします。
{
"_id" : ObjectId("5260c4bd95f8e3ad08000000"),
"ip" : "127.0.0.1",
"services" : [
{
"port" : "22",
"product" : "ssh"
}
]}
これは私が実行するアップデートです:
db.hosts.update({ "ip" : "127.0.0.1" }, { $addToSet : { services : { "port" : "22", "product" : "ssh" }}});
そして、これは私が得ているものです
{
"_id" : ObjectId("5260c4bd95f8e3ad08000000"),
"ip" : "127.0.0.1",
"services" : [
{
"port" : "22"
},
{
"port" : "22",
"product" : "ssh"
}
]}
私が間違っていることを知っている人はいますか?エントリを削除して再作成する必要がありますか?