这个问题不是重复的 这个问题是重要的更新日期
ID = 24996
db.c.updateOne({_id: _id}, {$push: {data: {ID: ID, date: new Date()}}})
结果
{
"_id" : "asdasd234",
"data" : [
{
"ID" : "24996",
"date" : ISODate("2019-04-15T07:53:53.157Z")
},
{
"ID" : "24996",
"date" : ISODate("2019-04-15T07:54:02.718Z")
},
{
"ID" : "70188",
"date" : ISODate("2019-04-14T05:14:45.122Z")
}
]
}
理想
{
"_id" : "asdasd234",
"data" : [
{
"ID" : "24996",
"date" : ISODate("2019-04-15T07:54:02.718Z")
},
{
"ID" : "70188",
"date" : ISODate("2019-04-14T05:14:45.122Z")
}
]
}
我想ID是唯一的。
我创建了索引{data.ID}
并具有唯一性,我尝试了$addToSet
或$push
或$set
或{_id: _id, 'data.ID': ID}, {xxx...}
,但结果如下
您的帖子似乎主要是代码;请添加更多详细信息。
答案 0 :(得分:1)
尝试如下:
db.collection.update(
{
_id: ObjectId("5cb43da161630d1f1d302912"),
'data.ID': { $ne: ID } // var ID (which we need to insert )
},
{$push: {data: {ID: ID, date: new Date()}}}
)