【发布时间】:2017-03-18 08:59:33
【问题描述】:
我的文档结构如下:
{
"_id" : ObjectId("58be819769f922b8427e7f10"),
"id" : "58be7a4cfc13ae51020002cc",
"source" : "facebook",
"source_id" : "b37f5e43-ea3f-46d2-b2b0-b8f55e923933",
"data" : [
{
"date" : "5/8/2016",
"topics" : [
"Vectorworks",
"Statistics",
"Flight Planning",
"HTK",
"Custom Furniture"
]
},
{
"date" : "7/22/2016",
"topics" : [
"FDR",
"NS2",
"Power Plants"
]
},
{
"date" : "12/23/2016",
"topics" : [
"LTV",
"MMS"
]
}
]
}
现在,如果我想在日期 "12/23/2016" 后面附加更多 topics,我可以使用:
db.revision.findOneAndUpdate({id: '58be7a4cfc13ae51020002cc', data: {$elemMatch: {date: '03/17/2017'}}}, {$push: {'data.$.topics': 'java lambda'}},{upsert: true})
但是,当日期条目不存在时,如何向 data 数组添加新对象?
【问题讨论】:
-
我刚开始使用 mongodb,但看起来像这样:docs.mongodb.com/manual/reference/operator/update/addToSet/…
-
@jeffery_the_wind 谢谢,$addToSet 帮助我处理了重复条目。但是,当这样的条目不存在并且
find子句失败时,如何添加类似{ date: "03/18/2017", topics: ['js']}的内容?
标签: mongodb