对Node和Mongo来说是全新的。我正在向自己学习。 我有两个模式。 Tower,2.Flats
塔架构
var TowerSchema = new Schema({
name:String,
total_unit:Number,
sold_unit:Number,
flats:[{type:Schema.Types.ObjectId, ref:"Sample"}],
createdAt: { type: Date, 'default': Date.now }
});
平面架构
var FlatSchema= new Schema({
id: Number,
title:String
})
我正在单独储蓄单位和塔楼。但如何在塔楼中插入单位。
保存单位的代码
router.post('/addSampleData', function(req, res) {
var rsData = fs.readFile('./data/sample_test.json', 'UTF-8', function(err, data) {
console.log('postdata '+data);
var parseData = JSON.parse(data);
console.log('sampleData '+data);
inserFlat(parseData, res);
})
})
保存塔的代码:
router.post('/addTower', function(req, res) {
var fsRead = fs.readFile('./data/tower_sample.json', 'UTF-8', function(err, data){
console.log('postdata '+data);
var parseData = JSON.parse(data);
var sampleJson = fs.readFile('./data/sample_test.json',
'UTF-8', function(err1, data1) {
console.log('sampleData '+data1);
var sampleData = JSON.parse(data1);
insertData(parseData, res, sampleData);
});
})
});
你可以找到正确保存单位(从磁盘上获得平坦的json),但是在保存塔时我做错了(得到塔json和扁平的json)。
请帮我解决这个问题。 我需要在塔中填充公寓
填充代码:
router.get('/flats', function(req, res) {
TowerModel.find().populate('flats').exec(function(err, flats) {
if (err) {
console.log('err: '+err)
res.send({'msg ' : err})
} else {
console.log('flats: '+flats)
res.json(
{'msg ':flats}
)
}
})
})
请帮帮我..