如何在Mongoose中使用population / ref保存Schema

先有用户,然后创build商店。 如何做创build商店和参考用户?

  • 1个用户对许多sotres
  • 1个商店给1个用户

//架构

var UserSchema = new Schema({ name: String, stores : [{ type: Schema.Types.ObjectId, ref: 'Store' }] }); var StoreSchema = new Schema({ name: String, user : [{ type: Schema.Types.ObjectId, ref: 'User' }] }); mongoose.model('Store', StoreSchema); mongoose.model('User', UserSchema); 

// express / mongoose save()

 exports.storeAdd = function (req, res) { new Store({ name : 'store 1', user : [{_id:req.session._id}] }).save(); }; 

它不工作,请帮助thx

 var StoreSchema = new Schema({ name: String, user : [{ type: Schema.Types.ObjectId, ref: 'User' }] }); 

这实际上定义了商店和用户之间的一对多关系。 这是故意的吗? 如果不是的话,你应该删除用户的[,]以及save()。

检查以确保req.session._id有一个有效的mongoose对象ID,这是保存不起作用的最可能的原因。