我有一个像这样声明的猫鼬模式:
var PostSchema = new mongoose.Schema({
timestamp: {type: Number, default: Date.now()},
});
Run Code Online (Sandbox Code Playgroud)
我定义了一条非常有效的创建帖子的路线。我用来创建帖子的代码如下:
/* POST Create new post (auth required)*/
router.post('/', auth, function(req, res, next) {
var post = new Post();
post.save(function(err, post){
if(err){ return next(err); }
res.json(post);
});
});
Run Code Online (Sandbox Code Playgroud)
然而我注意到我的帖子的时间戳不会随着时间而改变!事实上它们根本没有改变。例如,以下是最后三篇文章:
{
_id: "570aa4c946b52c7656cd8cf5",
__v: 0,
timestamp: 1460313633406
},
{
_id: "570aa4e546b52c7656cd8cf6",
__v: 0,
timestamp: 1460313633406
},
{
_id: "570aa59c46b52c7656cd8cf7",
__v: 0,
timestamp: 1460313633406
}
Run Code Online (Sandbox Code Playgroud)
它们都是在 20 分钟间隔内发布的,但它们都具有相同的时间戳。
您可以将函数传递给猫鼬模型,您可以在创建模型时分配一个值。仅使用 Date.now 来代替,每次保存条目时都会调用它。
default: Date.now() //returns a value at model creation
default: Date.now //adds the function to the model, mongoose will run any functions passed when a new entry is created -> that is what you need`\
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |