Node.js 子文档的meanjs控制器
我有一个关于如何为mongoose子文档设计meanjs控制器和路由的架构问题 我的模型如下所示:Node.js 子文档的meanjs控制器,node.js,mongodb,mongoose,meanjs,subdocument,Node.js,Mongodb,Mongoose,Meanjs,Subdocument,我有一个关于如何为mongoose子文档设计meanjs控制器和路由的架构问题 我的模型如下所示: 'use strict'; /** * Module dependencies. */ var mongoose = require('mongoose'), Schema = mongoose.Schema; /** * Customerrpc Schema */ var CustomerrcpSchema = new Schema({ company: { type
'use strict';
/**
* Module dependencies.
*/
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
/**
* Customerrpc Schema
*/
var CustomerrcpSchema = new Schema({
company: {
type: String,
enum: ['Option1', 'Option2'],
required: 'Please fill company name'
},
rcp: {
type: String,
required: 'Please fill rcp'
},
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
/**
* Customer Schema
*/
var CustomerSchema = new Schema({
name: {
type: String,
default: '',
required: 'Please fill Customer name',
trim: true
},
description: {
type: String,
default: '',
//required: 'Please fill Customer description',
trim: true
},
url: {
type: String,
default: '',
//required: 'Please fill Customer url',
trim: true
},
rcp: [CustomerrcpSchema],
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Customer', CustomerSchema);
mongoose.model('Customerrcp', CustomerrcpSchema);
在创建方法期间,我通过在服务器控制器上添加以下代码进行了尝试:
exports.create = function(req, res) {
var customer = new Customer(req.body);
customer.user = req.user;
var rcp = new Customerrcp({
company: 'Option1',
rcp: 'dumm',
user: req.user
});
customer.rcp = rcp;
customer.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(customer);
}
});
};
这个很好用。现在我的问题是,从主文档中创建/修改/删除子文档的最佳过程是什么
我曾想过总是使用主文档“Customer”,但这带来了一些我不喜欢的问题,比如总是保存空文档。因为我对每个子文档都有一个uniq\u id,所以我想一定有更好的方法
我想要的是只为子文档提供一个控制器,并为其提供create/save/remove语句。这可能吗
据我所知:
要创建新的子文档,我需要以下内容:\ mongoose查询的主文档的id。因此,我需要一项服务,将主文档的_id移交给所选子文档的控制器。我能做到这一点
但是如果这是正确的方法,我就没有安全感。
有什么想法吗
干杯,
Michael您是否有意选择子文档与关系?如果有子文档,则始终需要知道主文档才能操作子文档。如果您需要独立操作子文档,您可能希望为其创建一个单独的集合并引用它。感谢您的反馈!是的,我也得到了解决方案。关系不是这个应用程序的最佳解决方案,因为我不会增加2-3MB的电源输入,它非常简单:)但感谢您的回复!您是否有意选择子文档与关系?如果有子文档,则始终需要知道主文档才能操作子文档。如果您需要独立操作子文档,您可能希望为其创建一个单独的集合并引用它。感谢您的反馈!是的,我也得到了解决方案。关系不是这个应用程序的最佳解决方案,因为我不会增加2-3MB的电源输入,它非常简单:)但感谢您的回复!