Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用模型的objectid有自己的时间戳吗?(猫鼬v3.6.15)_Javascript_Node.js_Timestamp_Mongoose_Objectid - Fatal编程技术网

Javascript 引用模型的objectid有自己的时间戳吗?(猫鼬v3.6.15)

Javascript 引用模型的objectid有自己的时间戳吗?(猫鼬v3.6.15),javascript,node.js,timestamp,mongoose,objectid,Javascript,Node.js,Timestamp,Mongoose,Objectid,在Blogpost模型中定义 schema.user = { type: mongoose.Types.ObjectId, ref: 'User' }; 稍后在访问与模型匹配的文档时 // Timestamp of when the user was created. userDocument._id.getTimestamp(); // Different ObjectId, same value. blogpostDocument.user.getTimestamp(); 这些时间戳是

Blogpost模型中定义

schema.user = { type: mongoose.Types.ObjectId, ref: 'User' };
稍后在访问与模型匹配的文档时

// Timestamp of when the user was created.
userDocument._id.getTimestamp();

// Different ObjectId, same value.
blogpostDocument.user.getTimestamp();
这些时间戳是一样的吗

我之所以不只是自己测试它,是因为我正在极大地更改数据库的模型,以优化它们并添加新字段,而我还没有完成对它们的更改。因此,我希望在更新所有文档以匹配新模型之前,了解此问题的含义


谢谢大家!

具有相同基础原始值的objectid都将具有相同的时间戳

var mongoose = require('mongoose');
var o1 = new mongoose.Types.ObjectId();
var o2 = new mongoose.Types.ObjectId(o1.toString());
o1.getTimestamp();
//Fri Jul 26 2013 17:47:17 GMT-0600 (MDT)
o2.getTimestamp();
//Fri Jul 26 2013 17:47:17 GMT-0600 (MDT)
旁注:定义模式时,需要使用
mongoose.SchemaTypes.ObjectId
而不是
mongoose.Types.ObjectId


第二点注意:最好将对象ID作为不透明字符串处理,如果要跟踪创建日期,请使用专用字段跟踪它们。请记住,mongodb对象ID是由数据库本身外部的驱动程序生成的,时间戳是在对象在内存中实例化时生成的,这可能比它实际被发送到数据库进行存储要早得多。

。我甚至连点都连不上,前4个字节是时间戳,IIRC。现在这似乎是一个愚蠢的问题!不过,谢谢你的帮助!