[英]Timestamp mongodb using node.js
我有一個通過mongodb-native-drivers連接到node.js應用程序的mongodb數據庫。 我正在將數據插入數據庫,並且需要為其加時間戳,代碼如下所示:
var server = new Server('localhost', 27017, { auto_reconnect: true });
var db = new Db('test', server);
exports.fetch = function(args, callback) {
db.open(function(err, db) {
db.collection(args['device'], function(err, collection) {
var doc = {
device: args['device'],
data: args['data'],
time: new db.bson_serializer.Timestamp()
}
collection.insert(doc, { safe: true }, function(err,result) {
db.close();
callback(lastestError);
});
});
});
}
插入效果很好,但時間戳始終為0! 我已刪除所有錯誤檢查,以確保清晰度和大小。 任何幫助,將不勝感激! 謝謝。
MongoDB文檔指出“ Timestamp數據類型,但這是MongoDB的特殊內部類型,通常不應使用”:
http://www.mongodb.org/display/DOCS/Dates
ISODate()是要使用的正確類型。
我認為值0符合預期。 創建對象時,需要提供時間戳的低32位(帶符號)和時間戳的高32位(帶符號)! 更正將在這里。 “新的db.bson_serializer.Timestamp(someIntLow,someIntHigh)”
有關更多信息,請參見https://github.com/christkv/node-mongodb-native/blob/master/lib/mongodb/bson/timestamp.js#L41 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.