2017-12-28 18 views
0

私は2つのコレクションを1つはユーザーで、もう1つはcatsです。私は、ユーザーのコレクションの下に猫のデータが必要です。しかし、私は取得していません。マングースにスキーマを移入する

user.jsの

var Schema = mongoose.Schema; 
var userSchema = Schema({ 
_id: Schema.Types.ObjectId, 
username: String, 
email: { type: String, unique: true, lowercase: true, trim: true }, 
password: String, 
role: String, 
cats: [{ type: Schema.ObjectId, ref: 'Cat' }] 
}); 
var User = mongoose.model('User', userSchema); 
exports.default = User; 

Cat.js

var mongoose = require("mongoose"); 
var Schema = mongoose.Schema; 
var catSchema = Schema({ 
fname: String, 
mname: String, 
lname: String, 
}); 
var Cat = mongoose.model('Cat', catSchema); 
exports.default = Cat; 

O/P

"_id":のObjectId( "5a446ab43533970b8489e1ac")、 "ユーザ名": " "[email protected]"、 "パスワード" "$ 2a $ 10 $ ogerY6OiCRKy9TjPYERaOugUJeqelBl .yToJ4ZBX3ac2MVZQpsKOu」、 "役割": "ユーザー"、 "猫":[]、 "__v":0

予想される出力

"_id":ObjectIdが( "5a446ab43533970b8489e1ac" )、 "ユーザー名": "XYZ"、 "電子メール": "[email protected]"、 "パスワード" "$ 2A $ 10 $ ogerY6OiCRKy9TjPYERaOugUJeqelBl.yToJ4ZBX3ac2MVZQpsKOu"、 "役割": "ユーザー"、 「猫":[{ " _id ":ObjectId(" 5a44707effc66a234447c36b ")、 "fnameに": "フェリックス"、 "MNAME": ""、 "LNAME": ""、 }]、 "__v":0

答えて

0

あなたが好きなだけつのスキーマにそれらを組み合わせることかもしれません以下。 ない配列のカウントが継続的に何百ものカップルが増加しない限り、個別にスキーマを作成する理由..

var Schema = mongoose.Schema; 
var userSchema = Schema({ 
    _id: Schema.Types.ObjectId, 
    username: String, 
    email: { type: String, unique: true, lowercase: true, trim: true }, 
    password: String, 
    role: String, 
    cats: [ 
    { 
     _id: Schema.Types.ObjectId, 
     fname: String, 
     mname: String, 
     lname: String, 
    } 
    ] 
}); 
var User = mongoose.model('User', userSchema); 
exports.default = User; 
+0

私は10+のコレクションを持っていると私はしたいです上記の方法が複雑になると思います。 – Chris

+0

私はそれについて要点を見つけました。あなたがまだ見ていない場合は、見てみてください - https://gist.github.com/troyk/1892652 – efkan

関連する問題