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

Jak utworzyć schemat Mongoose z tablicą identyfikatorów obiektów?

Jeśli chcesz użyć funkcji wypełniania Mongoose, wykonaj:

var userSchema = mongoose.Schema({
  email: { type: String, required: true, unique: true},
  password: { type: String, required: true},
  name: {
      first: { type: String, required: true, trim: true},
      last: { type: String, required: true, trim: true}
  },
  phone: Number,
  lists: [listSchema],
  friends: [{ type : ObjectId, ref: 'User' }],
  accessToken: { type: String } // Used for Remember Me
});
exports.User = mongoose.model('User', userSchema);

W ten sposób możesz wykonać to zapytanie:

var User = schemas.User;
User
 .find()
 .populate('friends')
 .exec(...)

Zobaczysz, że każdy użytkownik będzie miał tablicę użytkowników (przyjaciół tego użytkownika).

Prawidłowy sposób wstawiania jest taki, jak powiedział Gabor:

user.friends.push(newFriend._id);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. uaktualnij mongodb

  2. Znajdź przy użyciu _id nie działa z agregacją

  3. Wszystko, co musisz wiedzieć o kliencie MongoDB

  4. Jak skonfigurować AppArmor dla zestawów replik MongoDB?

  5. Hasło MongoDB z @ w nim