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

запишете обект с двупосочна връзка в mongodb, като използвате официалния c# драйвер

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

Трябва да решите как искате тези данни да бъдат моделирани в базата данни.
Ако имате две колекции, една от компании и една от служители, тогава на ниво данни трябва да включите само идентификатори за препратките.

Ако обаче имате само една колекция от компании, тогава просто трябва да промените класа на служителите, за да препраща обратно към компанията с идентификатор вместо препратка към обект.

Това обаче трябва да се случи само в базата данни, можете да разширите модела си във вашия c# код, за да добавите автоматично препратката към обекта или да го заредите мързеливо и т.н. (избягвайки проблеми с избор на N+1, както правите) в зависимост от това какво е подходящо за ситуацията.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NodeJS излиза от всички потребителски сесии

  2. Подреждане и таблично (уникално/броене) в Mongo

  3. MongoDB обобщава върнатия брой от 0, ако няма резултати

  4. Неуловено изключение „MongoConnectionException“

  5. Изключете специфични полета в индекса на заместващи символи в MongoDB