Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在mongoose中将信息从一个集合检索到另一个集合?_Node.js_Mongodb_Mongoose Schema - Fatal编程技术网

Node.js 如何在mongoose中将信息从一个集合检索到另一个集合?

Node.js 如何在mongoose中将信息从一个集合检索到另一个集合?,node.js,mongodb,mongoose-schema,Node.js,Mongodb,Mongoose Schema,我有一个学生收集当我想报告一个特定的学生与 studentId报告必须与studentId一起存储在报告集合中 还有我的报告。我想用个人收藏 这是学生模式 //创建一个模式 var studentSchema = new Schema({ name: { type: String, required: true }, dateofbirth: { type:

我有一个学生收集当我想报告一个特定的学生与 studentId报告必须与studentId一起存储在报告集合中 还有我的报告。我想用个人收藏 这是学生模式

//创建一个模式

 var studentSchema = new Schema({
        name: {
            type: String,
            required: true
                },
        dateofbirth: {
            type: Date,
            required: true
        },
       schoolname:
    {
    type:String,
    required:true
    },
     standard:
    {
    type: Number,
    required:true
    }

    }, {
        timestamps: true
    });
下面是报告模式

那个么,我怎样才能从学生收藏中检索StudeID呢?我怎样才能给一个特定的学生做报告呢

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
     var studentSchema = new Schema({
           name:         {type: String, required: true},
           dateofbirth:  {type: Date, required: true},
           schoolname:   {type:String, required:true},
           standard:     {type: Number, required:true},   
            timestamps:   true
        });
   var reportSchema = new Schema({
       date: {type:Date,required:true},
        comment: {type:String,required:true}
          timestamps: true,
           student_id: [{type: String, ref:'student',required: true}]   //store your student{_id} relation here ref ==> is just a Collection name
       });
 mongoose.connect('mongodb://localhost/your_db_name_here', {
  // using mongoose client to avoid promises exception
  useMongoClient: true,
});

    //just making your collection available to next controller.js file
     module.exports= {
       student : mongoose.model('student',studentSchema ),
       report: mongoose.model('report', reportSchema)
        };
controller.js我一直在用express.js处理你的案子

你的答案在这里

这是 不过,如果你有关于猫鼬或mean stack means kinldy的其他基本信息,请参阅
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var reportSchema = new Schema({
    date: {
    type:Date,
    required:true
    },
    comment:
    {
    type:String,
    required:true
    }
    },
    {
    timestamps: true
});

var Report = mongoose.model('report', reportSchema);
 module.exports = Report;
    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
     var studentSchema = new Schema({
           name:         {type: String, required: true},
           dateofbirth:  {type: Date, required: true},
           schoolname:   {type:String, required:true},
           standard:     {type: Number, required:true},   
            timestamps:   true
        });
   var reportSchema = new Schema({
       date: {type:Date,required:true},
        comment: {type:String,required:true}
          timestamps: true,
           student_id: [{type: String, ref:'student',required: true}]   //store your student{_id} relation here ref ==> is just a Collection name
       });
 mongoose.connect('mongodb://localhost/your_db_name_here', {
  // using mongoose client to avoid promises exception
  useMongoClient: true,
});

    //just making your collection available to next controller.js file
     module.exports= {
       student : mongoose.model('student',studentSchema ),
       report: mongoose.model('report', reportSchema)
        };
    var db = require("./db.js");
     var app = require("express")();
     app.post("/api/student/register", (req, res) => {
         var dbdata = {
              name: req.body.name,
              .......
          }   
         db.student.create(dbdata, (er, callback) => {
             if(er)return res.json("error");
                       return res.json("successfully inserted");

             });
       });  
         app.post("/api/student/report/create", (req, res) => {
             //while creating a report you have to pass a Student primary key
            var dbdata = {
                    date: req.body.data;
                     comment: req.body.comment,
                     student_id: req.body.student_id 
      // similar to foreign key relation ship}
                } 
               db.report.create(dbdata, function(er, callback){
            if(er)return res.json("err");
          return res.json("successfully inserted");

            });  

        });
app.post("/particular/student/report", function(req, res){
  db.report.find({student_id:"your student id here"}).populate('student_id').exec(function(err, data){
    if(err)return res.json("db exception");
    return res.json(data);  //you will get all your student report for the particular student
  });
});