我一直在研究一个项目,并使用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。但是由于某种原因,我没有得到理想的结果。任何帮助,将不胜感激。
答案 0 :(得分:0)
将sno
的类型从字符串更改为数字
sno:{type:Number}
希望这可以解决您的问题