2016-06-09 103 views
0

我有两个模式 - 用户和供应商,并试图将用户数组保存在用户mongo文档中。我试图创建像这样的参考数组;Mongoose节点:如何在另一个对象中引用一个对象数组?

vendors: { type: 'array', of: { type: 'Vendor'} } 

这会抛出以下错误;

TypeError: Object.defineProperty called on non-object at Function.defineProperty (native)

我也尝试创建这样的refrence对象;

vendors: [Vendor] 

这一次不会引发错误,但供应商不保存在用户

+0

它应该更像这个'vendor:[{type:mongoose.Types.ObjectId,ref:'vendor'}]' – Molda

+0

@Molda谢谢你回到我身边。使用这将导致在将供应商保存在一个单独的集合中之后保存用户中的ObjectId,而不是我想将完整的供应商对象保存在此数组引用中。 – Techphile

+0

@Techphile,你试图在用户中保存供应商数据的是什么?在此处显示您的代码... –

回答

0

试试这个例子 -

var mongoose = require('mongoose'); 

// instantiate user model 
var User = mongoose.model('User'); // Assumed that you named your model `User` 
var user = new User({ 
    name: 'test', 
    gender: 'male', 
    vendors: vendor // vendor model schema instance 
}); 

// save the user 
user.save(function(err) { 
    if (err) throw err; 
    console.log('User created!'); 
}); 

希望这将帮助您解决问题!

相关问题