【发布时间】:2019-06-05 16:50:01
【问题描述】:
我在将键值对添加到同名数组时遇到问题。有没有办法根据索引添加?
我已尝试在有效的搜索查询中查找关键字。但是更新会将其添加到文档的底部
db.getCollection('siteLog').updateOne(
{
'site':'test1',
'items.suspiciousActivity.source': 'Account Added to Admin Group'
},
{$set:
{'items.suspiciousActivity.source.Account Added to Admin Group' : 'summary':'test1'}
})
它应该与另一个键值对一起添加到底部
"items" : [
{
"suspiciousActivity" : {
"source" : "Account Added to Admin Group",
"count" : "2",
"summary" : "Test summary for this"
}
},
{
"suspiciousActivity" : {
"source" : "Palo Alto FW - Local Account Login",
"count" : "2",
"summary" : "Another test summary"
}
},
{
"suspiciousActivity" : {
"source" : "Suspicious Failed Logon Attempts",
"count" : "2",
"summary": "more summaries"
}
},
【问题讨论】:
-
呃……你到底想做什么?你能澄清一下需要在哪里添加这些对吗?您说“它应该与另一个键值对一起添加到底部”,但您还说“但是更新会将它添加到文档的底部”。哪一种让我觉得你不想要那个,同时你又想要?此外,如果您有字典,它无论如何都不是完全“有序”或“排序”的,因为您通过键访问值,因此您不需要索引它。
-
它将它添加到 items 数组之外而不是可疑活动中。
"items" : [ { "suspiciousActivity" : { "source" : "Account Added to Admin Group", "count" : "2",