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

Как да създадете схема Mongoose с масив от идентификатори на обекти?

Ако искате да използвате функцията за попълване на Mongoose, трябва да направите:

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);

По този начин можете да направите следната заявка:

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

Ще видите, че всеки потребител ще има масив от потребители (приятели на този потребител).

И правилният начин за вмъкване е както каза Габор:

user.friends.push(newFriend._id);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Незадължителни параметри на заявката за търсене Mongoose?

  2. Как да получа масив от колекцията mongoDB?

  3. Как да използвам Elasticsearch с MongoDB?

  4. Как да изпълня заявка за идентификационен масив в Mongoose?

  5. Как да разположите Open edX MongoDB база данни за висока наличност