简体   繁体   English

无法从 mongodb 地图集获取特定数据

[英]can't fetch specific data from mongodb atlas

I can't fetch specific data from mongodb atlas我无法从 mongodb 地图集获取特定数据

app.post('/profile', (req, res)=>{
  let regNo = req.body.regNo;
  let mobNo = req.body.mobNo;
  let group = regNo.slice(6, 7);

  console.log(regNo);
  console.log(mobNo);
  console.log(group);

  if (group = "A") {
    candidateGroupA.find({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
      console.log(data)
      let name = data.name;
      console.log(name);
    });
  }
});

When I used console.log(data), it does work, but console.log(data.name) showing undefined.当我使用 console.log(data) 时,它确实有效,但 console.log(data.name) 显示未定义。

These are my mongoose schema and model这些是我的 mongoose 架构和 model

const candidateSchema = new mongoose.Schema({
  regnumber : String,
  group : String,
  name : String,
  gname : String,
  gender : String,
  dob: String,
  institution : String,
  location : String,
  mobnumber : Number
});

const candidateGroupA = mongoose.model('candidateGroupA', candidateSchema);

The find method returns an array, so you can access your data's name with data[0].name : find方法返回一个数组,因此您可以使用data[0].name访问数据的名称:

app.post('/profile', (req, res)=>{
    let regNo = req.body.regNo;
    let mobNo = req.body.mobNo;
    let group = regNo.slice(6, 7);
  
    console.log(regNo);
    console.log(mobNo);
    console.log(group);
  
    if (group === "A") {
      candidateGroupA.find({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
        if (err) {
            console.log(err);
            return;
        }
        console.log(data)
        if (data.length > 0) {
            let name = data[0].name;
            console.log(name);
        }
      });
    }
  });

You can use findOne if you need to retrieve a single object:如果需要检索单个 object,可以使用findOne

candidateGroupA.findOne({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
    if (err) {
        console.log(err);
        return;
    }
    console.log(data)
    let name = data.name;
    console.log(name);

});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM