MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongodb आईडी द्वारा उप-दस्तावेज़ को क्वेरी नहीं कर सकता (रिटर्न शून्य)

आप ऑब्जेक्ट आईडी के लिए पूछताछ नहीं कर रहे हैं, इससे कोई फर्क नहीं पड़ता कि आप कितना सोचते हैं। आप एक हेक्सिडेशियल स्ट्रिंग के रूप में एन्कोड किए गए ObjectId के लिए क्वेरी कर रहे हैं, जो नहीं . है एक ही बात। ठीक से टाइपकास्ट करें और आपको कहीं अधिक सफलता मिलने की संभावना है।

एक मोंगो (जेएस) आरईपीएल खोल से विस्तृत करने के लिए संपादित:

> // Omitting the _id, or generating a new one, are equivalent during insert.
> db.foo.insert({_id: ObjectId()})
WriteResult({ "nInserted" : 1 })

> db.foo.find()  // As expected, we get back our _real_ ObjectId value.
{ "_id" : ObjectId("5c9cfab873724727778c0730") }

> // Can we "insert the record again" using a string version of the ID?
> db.foo.insert({_id: "5c9cfab873724727778c0730"})
WriteResult({ "nInserted" : 1 })  // Sure as heck can! No unique violation!

> db.foo.find()  // Because THESE ARE NOT THE SAME
{ "_id" : ObjectId("5c9cfab873724727778c0730") }
{ "_id" : "5c9cfab873724727778c0730" }

हमारी आईआरसी चर्चा के बाद, आपको दिए जा रहे उत्तरों में "खोज योग्य शब्दों" को समझने में कठिनाई होने लगती है। यहां StackOverflow (या Google, या DDG) पर "mongoose typecast ObjectId" (बिना उद्धरण के; या बस "mongoose ObjectId"...) के लिए खोजें और आपको कई उत्तर मिलेंगे, क्योंकि यह Mongoose उपयोगकर्ताओं के लिए विशेष रूप से आम समस्या है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# कनेक्शन/डिस्कनेक्शन (आधिकारिक ड्राइवर)

  2. एक प्रॉक्सी के पीछे नेवला का उपयोग करके MongoDB डेटाबेस से कनेक्ट करें

  3. नेवला यौगिक सूचकांक अद्वितीय + विरल

  4. क्या MongoDB _id (ObjectId) आरोही क्रम में उत्पन्न होता है?

  5. OS X पर mongod HostnameCanonicalizationWorker त्रुटि