मैं एक Node.js अनुप्रयोग है कि कुछ डेटा खींचती है और एक वस्तु में चिपक जाता है, इस तरह है:नेवला _ id और तार की तुलना
var results = new Object();
User.findOne(query, function(err, u) {
results.userId = u._id;
}
जब मैं एक करते हैं/फिर उस संग्रहीत आईडी के आधार पर, तुलना कभी नहीं सच है:
if (results.userId == AnotherMongoDocument._id) {
console.log('This is never true');
}
जब मैं दो पहचान-पत्र की एक console.log करते हैं, वे ठीक प्रकार से दिखाई:
User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
मैं के रूप में कर रहा हूँ यह कुछ प्रकार की डेटाटाइप समस्या है, लेकिन मुझे यकीन नहीं है कि results.userId को डेटाटाइप में कैसे परिवर्तित किया जाए, जिसके परिणामस्वरूप उपरोक्त तुलना सच हो जाएगी और मेरा आउटसोर्स मस्तिष्क (उर्फ Google) मदद करने में असमर्थ रहा है।
'.equals()' के लिए डॉक्स: http://mongodb.github.io/node-mongodb-native/api-bson-generated/objectid.html#equals –
यदि आप पहले से ही 'मोंगोज़' का उपयोग कर रहे हैं केवल '(' mongoose ') की आवश्यकता हो सकती है। mongo.ObjectID' इसलिए आपको किसी भी अतिरिक्त निर्भरता – JoshuaDavid