MongoDB UPDATE使用$setOnInsert为新插入数据设置默认值
在MongoDB中,如果你想在使用$setOnInsert
时设置默认值,你可以在更新操作中使用$currentDate
操作符来为新文档设置时间戳。以下是一个例子:
假设我们有一个名为users
的集合,并且我们想要在新文档插入时,如果没有createdAt
字段,那么就设置一个默认的当前时间戳。
db.users.update({_id: userId},
[
{
$setOnInsert: {
createdAt: { $currentDate: true }
}
}
],
{ upsert: true });
在这个例子中,如果userId
对应的文档不存在,那么$setOnInsert
会指示MongoDB只有在新文档被插入时才设置createdAt
字段。$currentDate: true
会将createdAt
字段的值设置为当前的服务器时间。upsert: true
选项确保如果文档不存在,则会插入一个新文档。
评论已关闭