node.js:无法自动递增数组中的字段

时间:2019-03-06 09:07:17

标签: node.js mongoose

我一直在研究一个项目,并使用nodejs和mongodb创建一个rest api。我试图自动增加数据库中有新条目时增加1的字段。我正在使用猫鼬自动增量库。我可以在架构中增加字段。但是,当它递增数组中存在的字段并且该数组包含在架构中时,它将失败。 这是我的代码:

const healthinfo = mongoose.Schema({

    cur_madications:[{

        sno:{type:String},
        medicinename:{ type: String, require: true },
        dosage:{ type: String, require: true },

    }],
    healthinfoid:{type:String},  
    medicalhistory: { type: String, require: true },
    product: { type: String },
    clientid:{type:String}
});



var HealthInfo = module.exports = mongoose.model('HealthInfo', healthinfo);
autoIncrement.initialize(mongoose.connection)
healthinfo.plugin(autoIncrement.plugin, {
    model: 'healthinfo',
    field: 'sno',
    startAt: 1,
    incrementBy: 1
  });

module.exports.addhinfo = function (data, callback) {

    data.save(callback);

}

module.exports.getAllhinfo = function (callback) {

    HealthInfo.find(callback);
}

module.exports.update = function (updateobj, callback) {
    HealthInfo.update({ _id: updateobj._id},{ $set: updateobj }, callback);
}

module.exports.deletehinfo = function (delobj, callback) {
    HealthInfo.deleteOne({ _id: delobj }, callback);
}
// module.exports.getById = function (ids, callback){
//     HealthInfo.find({'clientid': { $in: ids}}, callback);
// }

module.exports.getById = function (clientid, callback){
    HealthInfo.find({'clientid' : clientid}, callback);

}

我正在尝试增加cur_medication数组中存在的字段sno。但是由于某种原因,我没有得到理想的结果。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

sno的类型从字符串更改为数字

sno:{type:Number}

希望这可以解决您的问题