我在我的控制器中有這部分代碼,我想要做的是當我在郵遞員"localhost:3000/project/:id"
中做一個"getProject"
在同一個屏幕上做一個帖子或把它放在params上,但是當我試圖做put或發佈沒有在我的項目模型保存如何在平均堆棧項目中推送文檔?
我試着用這個代碼,但不這樣做,我想
function createWork(req, res) {
var work = new Work();
var project = new Project();
var projectId = req.params.id;
var params = req.body;
obra.name = params.name;
obra.oficialName = params.oficialName;
obra.price = params.price;
obra.workType= params.workType;
obra.ubication = params.ubication;
console.log(params);
Project.update({"Title":"project"}, {
$push: {
"work": {
"name":'name',
"oficialName":'oficialName',
"price":'price',
"workType":'workType',
"ubication":'ubication',
}
}
},
{safe: true, upsert: true},
function(err, updProject){
if (err) {
res.status(404).send({message: 'Error'});
} else {
res.status(200).send({project: updProject});
}
});
}
我有兩個型號,firstone是「項目」
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Work = require('../models/work');
var ProjectsSchema = Schema({
name: String,
officialName: String,
price: String,
startDate: String,
endDate: String,
contract: String,
works: [{ type: Schema.Types.Object, ref: 'Work'}]
});
var Project = mongoose.model('Project', ProjectsSchema);
和seco第二是「工作」模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var WorksSchema = Schema({
name: String,
officialName: String,
price: String,
workType: String,
ubication: String
});
module.exports = mongoose.model('Work', WorksSchema);
,我想要做的是創造項目控制器功能和「工作」的數據推到現有的「項目」
它給我一個錯誤,說:「callback.apply不是一個函數」,所以,我有另外一個問題,如果是沒有問題的呵呵,我想要做的是,我有兩個模型「項目」和「工作」,所以項目有名稱,官方名稱等和「工作」數組,所以我想推「工作」數據到項目中的工作陣列,謝謝,我會編輯我的帖子嘿嘿 –
這個錯誤可能是因爲{{upsert:true}'發生的,刪除它並執行 – Vicky
它不會推動工作,首先我需要做的是「創建項目」,所以當ia使用所有數據創建項目「名稱,官方名稱,價格, startDate,endDate,合同,工作:[]。「所以之後,我需要創建一個工作,保存到工程數組在項目中,我創建到該項目中的每項工作必須保存到工作數組 –