如果数据已经存在,我的猫鼬模式将保存1秒钟,请更新该文档
this.sub.on('message',async function (topic, message) {
const soilesensor = new SensorModel({
topic: topic,
value : parseFloat(message.toString())
})
await soilesensor.save();
cb && cb(topic,message);
})
我的猫鼬模式是
const mongoose = require('mongoose')
const sensor = mongoose.Schema({
topic : {type : String ,index : true},
value : {type :Number ,index : true},
date: { type: Date, default: Date.now , index: true}
})
const Sensor = mongoose.model('Sensors' , sensor )
module.exports = Sensor ;
如果数据已经存在,我只会保存文档
答案 0 :(得分:0)
您可以使用upsert。您需要通过upsert: true
请尝试以下示例:
db.books.update(
{ item: "ZZZ135" }, // Query parameter
{ // Replacement document
item: "ZZZ135",
stock: 5,
tags: [ "database" ]
},
{ upsert: true } // Options
)