无法在nodejs中使用mongoose删除mongodb中的文档

时间:2019-05-25 18:10:32

标签: node.js mongodb mongoose mongodb-query

我试图在/ ledon发生时删除状态为off的所有文档,并在mongodb地图集中出现/ ledoff路由时删除状态为on的文档,代码如下所示

我尝试使用modelname.remove,modelname.deleteMany,但在控制台中对我不起作用,它显示为已删除,但在mongodb地图集中它未删除文档

const mongoose = require('mongoose')
const app = express()
const router = express.Router()
const path=require('path')

const data = require('../../models/data')

router.post('/ledon',(req,res)=>{
   const newdata1 = new data({
       state:'ledon'
   })
   newdata1.save()
   .then(console.log('done'))
   .catch(err=>console.log(err))
   data.find({state:'ledoff'})
   .then((isfind)=>{
       if(isfind){
           data.deleteMany({state:'ledoff'}).then(()=>{
               console.log('deleted')
           }).catch(err=>console.log(err))
       }
   })
   .catch(err=>console.log(err))
})

router.post('/ledoff',(req,res)=>{
    const newdata2 = new data({
        state:'ledoff'
    })
    newdata2.save()
    .then(console.log('done'))
    .catch(err=>console.log(err))
    data.find({state:'ledon'})
    .then((isfind)=>{
        if(isfind){
            data.deleteMany({state:'ledon'}).then(()=>{
                console.log('deleted')
            }).catch(err=>console.log(err))
        }
    })
    .catch(err=>console.log(err))

})

module.exports=router```

it is not deleting the documents in the mongodb atlas but in console it is showing that it is deleting the documents can anyone help me with this problem

my schema design look like this
```const moongose=require('mongoose')
const schema = moongose.Schema

const data =new schema({
    state:{
        type:String,
        default:true,
        required:true
    }
})

module.exports=databack = moongose.model('buttondata',data)```

0 个答案:

没有答案