我对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中?我开始认为我需要做多个查询来实现这个目标?
答案 0 :(得分:4)
您必须执行多个查询。