sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man skapar Mongoose Schema med en rad objekt-ID:n?

Om du vill använda Mongoose-befolkningsfunktionen bör du göra:

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

Så här kan du göra den här frågan:

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

Du kommer att se att varje användare kommer att ha en rad användare (den här användarens vänner).

Och det korrekta sättet att infoga är som Gabor sa:

user.friends.push(newFriend._id);


  1. MongoDB Multikey Index &Index Intersection Bounds

  2. Spara en HASH till Redis på en rails-app

  3. få in nyckel i redis

  4. Mongodb PHP - heltal med decimaler