【发布时间】:2016-08-28 08:08:00
【问题描述】:
您好,我是 node js 和 mongoose 的新手 我有两个方案,我想在另一个模式中有模式对象 我的计划
user.js
// grab the things we need
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Genre = require('../Models/genre');
// create a schema
var userSchema = new Schema({
name: { type: String, required: true, unique: true , index:true},
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
age: String,
gender: String,
genres: [{type: Schema.ObjectId, ref: Genre.Genre}] //this is the genre schema - the user can have many genres
});
// the schema is useless so far
// we need to create a model using it
var User = mongoose.model('User', userSchema);
// make this available to our users in our Node applications
module.exports = User;
也试过做
genres: [{type: Schema.Type.ObjectId, ref: Genre.Genre}]
and genres: ['Genre']
和genre.js
// grab the things we need
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
// create a schema
var genreSchema = new Schema({
name: { type: String, required: true, unique: true, index: true },
age: String,
gender: String
});
// the schema is useless so far
// we need to create a model using it
var Genre = mongoose.model('Genre', genreSchema);
// make this available to our genres in our Node applications
module.exports = Genre;
首先我想知道它是否可以做到这一点?有更好的方法吗?
当我通过邮递员发布用户时,用户正在添加,但我没有得到完整的流派,我不知道它是否保存正确
这是我发布的 json
{
"name":"erez",
"age": "23",
"password":"erez1234",
"email":"erez@erez.com",
"gender":"Male",
"genres": ["57285fe32c3c15e40c000001"] /// what should be here? is it right?
}
这是获取用户的 json
[
{
"_id": "572874be9b43cb4834000002",
"name": "erez",
"age": "23",
"password": "yaniv1234",
"email": "erez@beatman.com",
"gender": "Male",
"__v": 0,
"genres": [
"57285fe32c3c15e40c000001"
]
}
]
如果它是正确的 如何在获取用户时发送所有类型的完整用户?
希望我足够清楚
感谢帮助
【问题讨论】:
标签: node.js mongodb mongoose schema populate