2016-06-09 146 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!'); 
}); 

希望這將幫助您解決問題!

相關問題