मैं इन दोनों को जोड़ने के लिए node-mongoskin का उपयोग कर रहा हूं। सब कुछ ठीक था जब तक कि मैंने कुछ "दिनांक" फ़ील्ड पूछताछ नहीं की जो मुझे लगता है कि जावास्क्रिप्ट के Date
ऑब्जेक्ट के रूप में वापस किया जाना चाहिए। लेकिन परिणाम का प्रकार स्ट्रिंग था, जो अजीब (मेरे लिए) और असुविधाजनक है।MongoDB + Node.js: दिनांक को ठीक से सम्मिलित करने में असमर्थ
var doc = {
date: new Date(),
info: 'Some info'
}
db.users.insert(doc, {safe: true}, function(err, res) {
...
});
और इसके बाद के संस्करण का परिणाम (_id
क्षेत्र के बिना) है:
डालने कुछ इस तरह दिखता
{ "date" : "Mon Oct 24 2011 18:00:57 GMT+0400 (MSK)", "info": "Some info" }
हालांकि क्षेत्र के प्रकार है, सिवाय इसके, MongoDB शेल के साथ डालने बस ठीक काम करता है, ISODate
> db.things.insert({ date: new Date() }); db.things.find();
{ "_id" : ObjectId("4eae9f2a34067b92db8deb40"), "date" : ISODate("2011-10-31T13:14:18.947Z") }
तो सवाल यह है कि कैसे sh क्या मैं Date
ऑब्जेक्ट के रूप में क्वेरी दिनांक फ़ील्ड में दस्तावेज़ डाल सकता हूं? मैं जो चाहता हूं वह डेटाबेस-सर्वर-साइड पर फ़ील्ड सेट कर रहा है। मैं सिर्फ शून्य-फ़ील्ड जैसे कुछ भेजता हूं, और डीबी-सर्वर डिफ़ॉल्ट मैंगो तंत्र का उपयोग करके मेरे लिए सेटिंग करता है।
टाइमस्टैम्प डालने (native MongoDB timestamp) भी एक समस्या है, लेकिन यह इतना बड़ा सौदा नहीं है।
पीएस: कोई भाग्य mongoskin और mongodb-native दस्तावेज़ों के माध्यम से जा रहा है।
मुझे लगता है, अद्यतन समस्या अद्यतन के साथ चली गई (सुनिश्चित नहीं है कि किसके: ड्राइवर का मोंगो है)। अभी भी सोच रहा है कि टाइमस्टैम्प को सही ढंग से कैसे डाला जाना चाहिए। – elmigranto