簡體   English   中英

使用node.js的時間戳mongodb

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM