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

Czy istnieje możliwość obejścia maksymalnego rozmiaru bson MongoDB?

Jedną z rzeczy, które możesz zrobić, to zbudować własną mongoDB :-). Mongodb to otwarte źródło a ograniczenie rozmiaru dokumentu jest raczej arbitralne, aby wymusić lepszy projekt schematu . Możesz po prostu zmodyfikować ten wiersz i zbuduj go dla siebie. Uważaj na to.

Najprostszym pomysłem jest umieszczenie każdego małego pytania w innym dokumencie z polem, które odnosi się do jego rodzica.

Innym pomysłem jest ograniczenie liczby dokumentów w rodzicu . Powiedzmy, że limit wynosi N elementów, a rodzic wygląda tak:

{
  _id : ObjectId(),
  id : { type: Number, required: true },
  created: { type: Date, default: Date.now },  // you can store it only for the first element
  last_modified: { type: Date, default: Date.now }, // the same here
  data : [{
    id: 65,
    question: {
        test: "some questions",
        answers: [2,5,6]
    }
  }, ... up to N of such things {}
  ]
}

W ten sposób modyfikując numer N masz pewność, że będziesz w 16 MB BSON. Aby przeczytać całą ankietę, możesz wybrać

db.coll.find({id: the Id you need}) a następnie połączyć całą ankietę na poziomie aplikacji. Nie zapomnij również zapewnić indeksu w id .

Wypróbuj różne rzeczy, wykonaj test porównawczy swoich danych i zobacz, co działa dla Ciebie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Automatyczne obliczanie pól w mongodb

  2. techniki przechowywania bibliotek w mongoDB's system.js

  3. Logowanie za pomocą winston-mongodb i express-winston

  4. Jaka jest różnica między id i _id w manguście?

  5. Dodaj pole do istniejącego dokumentu MongoDB (z Mongoose w Node.js)