如何通过另一个属性找到猫鼬模型的属性?

时间:2018-07-27 05:18:54

标签: javascript mongodb mongoose

我的猫鼬模式如下:

     var personnelSchema = new Schema({

        fullName: String,
        dob: String,
        cNumber: String,
        address: String,
        wCard: String,
        dLic: Number,
        hrate: Number,

});

如何仅具有“ fullName”来查找属性“ hrate”。我无权访问ID,否则我会通过ID找到它。

2 个答案:

答案 0 :(得分:0)

您可以在find上的https://docs.mongodb.com/manual/reference/method/db.collection.find/

上查看mongoDB文档。

这里的猫鼬:http://mongoosejs.com/docs/2.7.x/docs/finding-documents.html/

但是按字段查找文档通常是通过以下方式完成的:

Model.findOne({ fullName: 'someName'}, function (err, doc){
  // doc is a Document
});

答案 1 :(得分:0)

如果您只想从hrate属性中fullname,则可以使用projection

  

使用find获取所有记录,使用findOne获取第一个匹配记录。

  var projection = 'hrate' 

  UserModel.findOne({
    fullName: "Some String"
  }, projection, function (err, data) {
    if (!data) {
      callback('No data found', null)
    } else {
      callback(err, data)
    }
})



// Query would be in MongoDB shell:

> db.getCollection('test').findOne({fullName : "Hardik Shah"}, {'hrate' : 1})

如果您想与hrate一起使用完整文档,请不要使用projection

  UserModel.findOne({
    fullName: "Some String"
  }, function (err, data) {
    if (!data) {
      callback('No data found', null)
    } else {
      callback(err, data)
    }
})



// Query would be in MongoDB shell:

> db.getCollection('test').findOne({fullName : "Hardik Shah"})