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

Php से mongoDB में किसी आईडी द्वारा संदर्भित दस्तावेज़ को कैसे निकालें?

आपने एक सामान्य पूर्णांक (MongoInt32) का उपयोग _id . के रूप में किया है खेत। और MongoInt32 MongoID के समान नहीं है। वे दो अलग-अलग वर्ग हैं। माना जाता है कि आप इसे इसके साथ हटा देंगे:

$collection->remove( array( '_id' => new MongoInt32(1) ) );

अतिरिक्त जानकारी:

MongoId का उपयोग _id . के मान के रूप में किया जाता है फ़ील्ड यदि आप नहीं स्वयं एक मान सेट करें, जैसे कि:

$collection->insert( array( 'cust_id' => 'abc124' ) );

यदि आप इस दस्तावेज़ को पुनः प्राप्त करते हैं, और var_dump() जो आप देखेंगे:

array(2) {
  '_id' =>
  class MongoId#6 (1) {
    public $$id =>
    string(24) "51ee74e944670a09028d4fc9"
  }
  'cust_id' =>
  string(6) "abc124"
}

डॉक्स में नोट का मतलब है कि अब आप उस दस्तावेज़ को इसके साथ नहीं हटा सकते:

$collection->remove( array( '_id' => '51ee74e944670a09028d4fc9' ) );

लेकिन इसके बजाय आपको इसका उपयोग करना होगा:

$collection->remove( array( '_id' => new MongoID( '51ee74e944670a09028d4fc9' ) ) );

अंतिम बिंदु के रूप में मैं यह बताना चाहता हूं कि आपको वास्तव में new MongoInt32(1) का उपयोग करने की आवश्यकता नहीं है सबसे पहले, आप बस इसका उपयोग कर सकते हैं:

$document = array (
    '_id' => 1,
    'cust_id' => 'abc124'
);

आपको केवल MongoInt32/MongoInt64 की आवश्यकता है यदि आप 32-बिट प्लेटफॉर्म (या विंडोज) पर हैं और आपको बड़ी संख्या से निपटने की आवश्यकता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB पाठ खोज और अनेक खोज शब्द

  2. SQL में अल्पविराम के साथ संख्याओं को कैसे प्रारूपित करें

  3. ssh . के माध्यम से MongoDB सिंक करें

  4. MongoDB - LEFT JOIN के समतुल्य जहाँ एक संग्रह मौजूद नहीं है

  5. जावा के साथ MongoDB के लिए एक गाइड