我使用express和mongoose来保存mongodb中的数据。 我正在创建Node API,下面是我的Mongo Schema。
var bookSchema=new Schema({
subject_name:{type:String},
books:[{book_name:String, book_author:String}]
});
我的html视图如下
我想针对单个主题名称附加多个书籍。所以我想知道如何使用Angularjs多次附加Books部分以及如何将其值存储在mongodb中。
我希望结果是这样的:
请让我怎么做。
先谢谢。
答案 0 :(得分:0)
嘿,你可以检查这是否有助于SubjectBooks
是mongoose架构。通过subjectName将新书附加到主题中的查询。如果要查找具有任何其他参数(如_id。
节点代码在这里
<强> EDITED 强>
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
/*....mongoose connection creation code goes here...*/
var bookSchema=new Schema({subject_name:{type:String},books[{book_name:String, book_author:String}]
});
var SubjectBooks = mongoose.model('<collection_name>', bookSchema);
app.post('<URL mapping goes here>',function(req,res){
var subject = req.body; //You have to use body-parser
var subjectName = subject.subject_name;
var subjectModel = new SubjectBooks(subject);
subjectModel.save(function (err,mongRes) {
if(err){
res.send(err);
}
res.json(mongRes);
});
});
我创建的角色代码
app.controller("mainController",["$scope",'mainService',function($scope,mainService){
$scope.subjectBookCatalogue = {
subject_name: "",
books:[{
book_name:"",
book_author:""
}]
};
$scope.saveSubjects = function (data) {
mainService.saveSubjects(data).then(function(response){
console.log(response.data);
},function(response){
});
};
$scope.subjects = [];
$scope.fetchSubjects = function () {
mainService.getAllSubjects().then(function(response){
console.log(response.data);
$scope.subjects = response.data;
},function(response){
});
};
$scope.fetchSubjects();
$scope.submitForm = function(){
console.log($scope.subjectBookCatalogue);
$scope.saveSubjects($scope.subjectBookCatalogue);
}
}]);
app.factory("mainService",["$http",function($http){
return {
saveSubjects : function(data){
return $http({
method:"POST",
url: "http://localhost:3000/v1/subject/"+data.subject_name,
data:data,
headers: {
'Content-Type': 'application/json'
}
});
},
getAllSubjects : function(){
return $http({
method:"GET",
url:"http://localhost:3000/v1/subjects"
});
}
}
}]);
这有助于将书籍推入主题书籍阵列。
您可以参考此问题