Как преобразовать строку даты типа "17-DEC-1980" в формат даты для MongoDB?
У меня есть некоторые данные и в формате, как 17-DEC-1980
, Как я могу преобразовать его в объект Date и вставить в MongoDB?
Благодарю.
1 ответ
Решение
Консоль Javascript (этот код зависит от часовых поясов):
d = Date.parse('17-DEC-1980'); // 345844800000
Затем это значение помещается в запрос mongodb:
> new Date(345844800000)
ISODate("1980-12-16T20:00:00Z") // copy from MongoDB shell
Node.js (example.js
):
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var mongodb = require('mongodb');
var server = new mongodb.Server("127.0.0.1", 27017, {});
new mongodb.Db('se', server, {}).open(function (error, client) {
if (error) throw error;
var collection = new mongodb.Collection(client, 'test_collection');
d = Date.parse('17-DEC-1980');
collection.insert({dt: new Date(d)}, {safe:true}, function(err, objects) {
if (err) console.warn(err.message);
if (err && err.message.indexOf('E11000 ') !== -1) {
// this _id was already inserted in the database
}
});
});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');