簡體   English   中英

檢查 mongoose sava() data 如果不存在則創建文檔,否則更新數據

[英]checked mongoose sava() data Create document if not exists, otherwise, update data

如果數據已經存在,我有貓鼬模式保存 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 ;

如果數據已經存在,我只保存文檔更新該文檔

您可以使用upsert 你需要通過upsert: true

試試下面的例子:

db.books.update(
   { item: "ZZZ135" },   // Query parameter
   {                     // Replacement document
     item: "ZZZ135",
     stock: 5,
     tags: [ "database" ]
   },
   { upsert: true }      // Options
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM