Tôi đã sử dụng node-mongoskin để kết nối hai thiết bị này. Mọi thứ đều ổn cho đến khi tôi truy vấn một số trường "ngày" mà tôi cho rằng nên được trả về dưới dạng đối tượng javascript′s Date
. Nhưng loại kết quả là chuỗi, đó là lẻ (đối với tôi) và bất tiện.MongoDB + Node.js: không thể chèn ngày đúng
Chèn trông giống như sau:
var doc = {
date: new Date(),
info: 'Some info'
}
db.users.insert(doc, {safe: true}, function(err, res) {
...
});
Và kết quả của việc trên là (không _id
lĩnh vực):
{ "date" : "Mon Oct 24 2011 18:00:57 GMT+0400 (MSK)", "info": "Some info" }
Tuy nhiên, chèn với MongoDB Shell làm việc tốt, ngoại trừ loại trường là ISODate
> db.things.insert({ date: new Date() }); db.things.find();
{ "_id" : ObjectId("4eae9f2a34067b92db8deb40"), "date" : ISODate("2011-10-31T13:14:18.947Z") }
Vì vậy, câu hỏi đặt ra là: cách sh Tôi có thể chèn tài liệu vào các trường ngày truy vấn là đối tượng Date
không? Những gì tôi muốn là thiết lập các lĩnh vực trên cơ sở dữ liệu-phía máy chủ. Tôi chỉ cần gửi một cái gì đó như null-lĩnh vực, và db-server thiết lập những người cho tôi bằng cách sử dụng mặc định cơ chế mongo′s.
Chèn dấu thời gian (như native MongoDB timestamp) cũng là một vấn đề, nhưng nó không phải là một vấn đề lớn như vậy.
PS: Không may mắn qua mongoskin và mongodb-native tài liệu.
Tôi nghĩ rằng, vấn đề ngày đã biến mất với bản cập nhật (không chắc chắn ai có: driver của mongo). Vẫn tự hỏi cách chèn dấu thời gian chính xác. – elmigranto