2016-06-08 32 views
0

我正在構建一個MEANjs應用程序,我有兩個模式:用戶和聲明。我希望能夠從索賠中引用用戶信息。如何使用Mongo,NodeJS和Angular在另一個模式中引用模式?

現在,我可以使用表達式{{vm.claim.user.displayName}}成功訪問我視圖中的顯示名稱。我如何訪問嵌入式用戶架構的其他屬性?

例如,我想能夠引用用戶的firstName和lastName。像{{vm.claim.user.firstName}}這樣的東西在我的視圖中不會產生任何結果。

user.server.model.js

/** 
* User Schema 
*/ 
var UserSchema = new Schema({ 
    firstName: { 
    type: String, 
    trim: true, 
    default: '', 
    validate: [validateLocalStrategyProperty, 'Please fill in your first name'] 
    }, 
    lastName: { 
    type: String, 
    trim: true, 
    default: '', 
    validate: [validateLocalStrategyProperty, 'Please fill in your last name'] 
    }, 
    displayName: { 
    type: String, 
    trim: true 
    } 
}); 

mongoose.model('User', UserSchema); 

claim.server.model.js

'use strict'; 

/** 
* Module dependencies. 
*/ 
var mongoose = require('mongoose'), 
    Schema = mongoose.Schema; 

/** 
* Claim Schema 
*/ 
var ClaimSchema = new Schema({ 
    description: { 
    type: String, 
    default: '', 
    required: 'Please fill Claim description', 
    trim: true 
    }, 
    created: { 
    type: Date, 
    default: Date.now 
    }, 
    user: { 
    type: Schema.Types.ObjectID, 
    ref: 'User' 
    } 
}); 

mongoose.model('Claim', ClaimSchema); 

回答

0

如果你想使用User模式在Claim模式,你可以做這樣的:

/** 
* Module dependencies. 
*/ 
var mongoose = require('mongoose'), 
    Schema = mongoose.Schema, 
    User = require('./../models/user'); //proper path here 

var UserSchema = require('mongoose').model('User').schema; 

/** 
* Claim Schema 
*/ 
var ClaimSchema = new Schema({ 
    description: { 
    type: String, 
    default: '', 
    required: 'Please fill Claim description', 
    trim: true 
    }, 
    created: { 
    type: Date, 
    default: Date.now 
    }, 
    user: { 
    type: UserSchema, 
    ref: 'User' 
    } 
}); 

mongoose.model('Claim', ClaimSchema); 

User模式需要導出語句。替換爲mongoose.model('User', UserSchema);

exports.UserSchema = UserSchema; 
module.exports = mongoose.model('User', UserSchema); 

關於與依賴正確的路徑問題,'./../models/user'應該適用於

├── server 
| ├── models 
| | └──user.server.model.js 
| └── server.js 
+0

這看起來很棒 - 我現在有定義路徑到您的評論用戶模型的麻煩/ /適當的路徑在這裏。我是否需要在user.server.model.js中執行某種module.exports語句? – Jcr

+0

什麼是你的文件夾結構(我的意思是server.js和模型文件的一部分)? –

+0

是的,需要導出語句。我會更新答案。 –

相關問題