2014-09-22 112 views
1

我有以下的Javascript對象,我怎麼能其轉換爲BSON用於插入MongoDB中(和trasform在ISODate這些日期字符串)?轉換的JavaScript對象BSON

{ name: 'Event 4', 
    personsMax: 2, 
    begin: '2014-09-22T19:00:20.000Z', 
    end: '2014-09-22T21:00:20.000Z', 
    creator: 'Jack', 
    created: '2014-09-22T14:52:20.517Z', 
    refDate: '2014-10-08T00:00:00.000Z', 
    whoIsIn: { jack: true }, 
id: 4 } 

我正在使用nod.js + node-mongodb-native客戶端。

MongoDB中db.insert後我有:

db.test.find();

{ "name" : "Event 4", "personsMax" : 2, "begin" : "2014-09-22T19:00:20.000Z", 
"end" : "2014-09-22T21:00:20.000Z", "creator" : "Jack", 
"created" : "2014-09-22T14:52:20.517Z", "refDate" : "2014-10-08T00:00:00.000Z", 
"whoIsIn" : { "jack" : true }, "id" : 4, "_id" : ObjectId("542038e4a3fbfcf81bace0d7") } 

我懷疑那些 「開始」, 「結束」, 「創建」, 「refDate」 字段被插入作爲字符串,而不是日期(或ISODate)。

我錯了?

謝謝。

+0

你想轉換什麼? – Barno 2014-09-22 15:32:41

回答

3

你不需要將任何東西轉換成BSON。 Mongo爲你處理這個問題。 Mongo只使用BSON在內部存儲數據 - 使用JSON和庫代碼(在您的案例node-mongodb-native中)與它進行交互。

關於日期對象 - 您可以像平常一樣創建它們JavaScript Date對象 - 同樣,mongo將在插入過程中處理這些對象並根據需要進行轉換。

+0

更好地解釋,對不起 – goliardico 2014-09-22 15:46:46

+0

插入您的日期爲正確的JavaScript Date對象,它們將被轉換爲ISODate – Lix 2014-09-22 15:49:12

+0

你說得對,我「typeof'ed」 obj.refDate,它是一個字符串。^_ ^」 – goliardico 2014-09-22 16:00:27