我问过一个关于如何在嵌入式 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"
}
]}
有人知道我在做什么错吗?我应该删除条目并重新创建它吗?