2017-03-05 4 views
0

私はexpressjs(バージョン3.10.10)、mongoose(バージョン3.10.10)、mLabを使用しています。あなたは、私はしかし、それらのどれも働いていない、このdocumentに従って文書を削除するには、二つの方法を試してみましたが、見ることができるようにここでModel.remove()がまったく動作しません

は私のコードは、

app.get("/deleteDevice/:query", function(req, res) { 

    var query = req.params.query; 
    query = JSON.stringify(query); 

    vehicleSchemaModel.remove({ deviceID: query }, res.redirect("/devices")); 
    vehicleSchemaModel.findOneAndRemove({ deviceID: query }, res.redirect("/devices")); 
}); 

です。

私が間違っていることを教えてもらえますか?

vehicleSchemaModel.find({ deviceID: query }).remove(res.redirect("/devices")); 

答えて

1

約束

vehicleSchemaModel.remove({ deviceID: query }) 
.then(returned => res.redirect("/devices")) 
.catch(err => {console.log(err) }) 

またはコールバックコンソールで

vehicleSchemaModel.remove({ deviceID: query }, function(err, doc){ 
    if(err) console.log(err); 
    res.redirect("/devices") 
}) 

チェックエラー:

+0

ありがとうございました。両方のソリューションは、ストリンジェントな行にコメントした後に機能しました。しかし、promiseを使用するとDeprecationWarningが表示されます。 – Tareq

+0

推奨されなくなりました。あなたがあなたのマングーススキーマを設定しているところで(または、あなたがマングースを必要とした後、またはマングース接続の後に) 'mongoose.Promise = Promise'のようなものを追加してみてください。このようなことをすることは、約束を使用する方法を教えてくれるし、このケースでは、約束のライブラリの代わりに正規のJS Promiseを使うことを教えている。 –

0

はこのような何かを試してみてください。それは役に立ちます。

+0

が試行されましたが、動作しませんでした。 – Tareq

関連する問題