Mal*_*rik 16 javascript mongodb meteor mongodb-query
在Meteor中将文档插入MongoDB集合时,不确定如何使用$ currentDate.
这只能用于更新,而不是插入吗?看起来很奇怪,但我没有看到替代品(除了使用new Date替代品).
例
Stuff.insert({
owner: Meteor.userId(),
createdAt: ..., // how to create this field with $currentDate ?
theStuff: "Some of the good stuff"
})
Run Code Online (Sandbox Code Playgroud)
Notes/Thoughts/TL,DR
{}.$currentDate比new Date?sty*_*ane 26
如果确实如此,那么拥有仅适用于更新的运营商有什么意义呢?
$currentDate是一个更新操作符,因此您不能将其与该collection.insert方法一起使用.但是,当没有文档符合查询条件时upsert,true它何时会创建新文档.MongoDB运营商倾向于遵循Unix哲学
做一件事并做得好
因此每个操作员只应执行一项任务.
为什么/何时
$currentDate比new Date?
首先,我想提一下这new Date是一个JavaScript Date实例.
$currentDate并且new Date可以在要将字段的值更新为当前日期时使用,但new Date需要使用其他更新运算符才能使用.例如:
运用 new Date
db.collection.update({ "name": "bar" }, { "$set": { "date": new Date() }})
Run Code Online (Sandbox Code Playgroud)运用 $currentDate
db.collection.update({ "name": "bar"},
{ "$currentDate": { "date": { "$type": date }}}
)
Run Code Online (Sandbox Code Playgroud)不同的是$currentDate,new Date可以使用insert方法和值可以设置为特定的,如果Date调用多于on参数.
小智 5
您可以从在插入操作中创建的自动生成的“ _id”中检索时间戳。
http://api.mongodb.com/java/current/org/bson/types/ObjectId.html
只需使用方法:ObjectId.getTimestamp()。
时间戳粒度以秒为单位。