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

Zrozumienie relacji i kluczy obcych w Mongoose

Nadal jestem nowy w Node, Mongoose i Mongo, ale myślę, że mogę odpowiedzieć na przynajmniej część twojego pytania. :)

Twoja obecna metoda jest taka sama, jak na początku. Zasadniczo przechowuje to bardzo podobnie do tego (napisanego w JS, ponieważ nie znam CoffeeScript):

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        name: String,
        desc: String,
        dueOn: Date,
        completedOn: Date
    }]
});

Później znalazłem tę metodę, której szukałem i myślę, że zamierzałeś:

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Todo' //Edit: I'd put the schema. Silly me.
    }]
});

Przechowuje tablicę identyfikatorów ObjectId, które można następnie załadować za pomocą Query#populate w Mongoose.

Nie znam technicznych implikacji, ale w moim mózgu będzie miało większy sens, jeśli oddzielę je od siebie, więc to właśnie robię. :)

Edycja:Oto kilka oficjalnych dokumentów, które mogą być przydatne:http://mongoosejs.com/docs/ zapełnij.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aktualizacja Mongoose „nie można użyć części (..) do przemierzenia elementu”

  2. Czy istnieje możliwość wygenerowania duplikatu Mongo ObjectId w dwóch różnych kolekcjach?

  3. błąd:oczekiwana definicja klasy lub obiektu

  4. Najlepszy sposób na stworzenie wyrażenia mongo, które nigdy nie pasuje

  5. mongodb ustawiony null w aktualizacji