gpt4 book ai didi

node.js - mongoose - 按 id 删除元素

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:02 24 4
gpt4 key购买 nike

我试图通过传递属性 ID 来删除特定属性,但是,删除操作会删除数据库中的第一个属性,而不是特定属性。

Server.js

app.delete('/deleteProperty/:id', function(req,res) {
Property.findOneAndRemove(req.params.propertyId,req.body, function(err,data) {
if(!err) {
console.log("Deleted");
}
});
});

api.service.ts

deleteProperty(id:number) {
return this.http.delete('http://localhost:3000/deleteProperty/'+id)
.do(data => console.log('All: ' + JSON.stringify(data)))
.catch(this.handleError);
}

propertyDetail.component.ts

deleteProperty(id)
{
this.apiService.deleteProperty(id)
.subscribe( res => {
// this._router.navigate(['/properties']);
}, (err) => {
console.log(err);
}
)
}

html 中的按钮

<a style="float:right"  color="warn" mat-raised-button (click)="deleteProperty(property.propertyId)">Delete</a>

最佳答案

当您使用findOneAndRemove时,您需要像这样包装第一个参数:

Property.findOneAndRemove({_id: req.params.propertyId}, req.body, function(err,data)
{
if(!err){
console.log("Deleted");
}
});

如果您尝试方法findByIdAndRemove,那么您可以像以前一样调用它:

Property.findByIdAndRemove(req.params.propertyId,req.body, function(err,data)
{
if(!err){
console.log("Deleted");
}
});

更多信息您可以在 documentation 中找到.

关于node.js - mongoose - 按 id 删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48151737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com