MongoDB:$ inc可以在$ addToSet中增加一个值

时间:2011-10-30 14:50:14

标签: mongodb

我对MongoDB相对较新,并且遇到更高级的upsert问题。我一直在谷歌搜索和阅读文档,但无法确切知道我在寻找什么。基本上我正在创建一个命中计数器,它将存储多个域的数据。

我的文档结构是:

{
    "domain": "example.com",
    "hitCount": 1,
    "urls": [
        {
            "url": "/the-url",
            "hitCount": 1,
            "hits": [
                {
                    "date": "2011-10-30T04:50:01.090Z",
                    "IP": "123.123.123.123"
                }
            ]
        }
    ]
}

到目前为止我的upsert代码是:

{
    $set: {"domain": "example.com"},
    $inc: {"hitCount": 1},
    $addToSet: {"urls": {"url": "/the-url"} }
}

这个位工作得很好但是你可以看到它只是upsert的第一部分。我无法在“网址”中插入其余数据,例如递增“hitCount”并添加匹配的“日期”和“IP”。

我想知道这个文档结构是否可以在一个upsert中?我开始认为我需要做多个查询来实现这个目标?

1 个答案:

答案 0 :(得分:4)

您必须执行多个查询。