MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wpływ mongodb _id generacji na indeksowanie

O wiele lepszym rozwiązaniem byłoby pozostawienie _id kolumna bez zmian i mieć oddzielny identyfikator użytkownika i identyfikator folderu pola w dokumencie lub utwórz osobne pole, łącząc je oba.

Co do tego, czy będzie „tak szybko”… zależy od zapytania, ale przy zamawianiu według daty „utworzenia” dokumentu na przykład stracisz możliwość zamawiania według _id stracisz również korzyści z shardingu i dystrybucji .

Jeśli jednak chcesz użyć obu tych identyfikatorów dla swojego _id jest jeszcze jedna opcja ...

W rzeczywistości możesz używać obu ale zostaw je oddzielne ... na przykład jest to prawidłowy _id :

> var doc = { "_id" : { "userID" : 12345, "folderID" : 5152 }, 
              "field1" : "test", "field2" : "foo" };
> db.crazy.save(doc);
> db.crazy.findOne();
{
        "_id" : {
                "userID" : 12345,
                "folderID" : 5152
        },
        "field1" : "test",
        "field2" : "foo"
}
> 


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Testowanie sterownika mongocxx c++ z przykładowym kodem

  2. MongoDB $pull składnia

  3. Jak za pomocą sterownika mongoDB C# wydać polecenie runCommand?

  4. Połączenie Go i MongoDB nie będzie działać z dziennikiem paniki, brak dostępnego serwera

  5. szukaj w połączeniu dwa pola w Mongodb