MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb - Конструирайте DBRef с низ или ObjectId

Единствената разлика е, че единият всъщност е ObjectId а другият е низово представяне на това, което изглежда като ObjectId .

DBRef като ObjectId:

db.persons.insert({name: 'cavin', 
     sister: new DBRef('persons', 
         new ObjectId('5165419064fada69cef33ea2'))}) // use an ObjectId

DBRef като низ:

db.persons.insert({name: 'bob', 
     sister: new DBRef('persons', 
        '5165419064fada69cef33ea2')}) // use a string

В примера, който включихте, ObjectId може да доведе до по-ефективно съхранение, тъй като това е 12-байтова стойност вместо 24-те байта, които би изисквало представянето на низ. Ако искате да използвате DBRef s, бих използвал ObjectId ако реферираната колекция използва ObjectId s за _id .

Не се изисква да използвате ObjectId в DBRef . Може да бъде всяка стойност, която представлява ключа (_id ) от свързаната колекция/DB.

Като документация предлага, освен ако нямате убедителна причина да използвате DBRef , вместо това използвайте ръчни препратки.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Намерете общото време, прекарано от потребител в mongoDB

  2. Spring Mongo DB @DBREF

  3. Актуализирането на повече от един MongoDB документ в NodeJS изглежда не работи

  4. MongoDB:Как да получите точност на N десетични знаци в заявка

  5. 6 най-добри практики за внедряване на MongoDB на Amazon EC2