2014-09-22 60 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