我正在尝试从我的网络应用中的评论部分删除帖子.
Mongodb传递了一个objectId,但我无法从我的2角前端获取它.默认情况下,ObjectId作为_id传递,所以在我的前端我在我的删除函数中调用Post._id并且它通过了所有这些信息
我真正想要的是数据库本身给出的唯一ObjectId,如下所示
如何在我的应用程序的前端获得此值?我在github上的项目的所有代码都位于here,包含我的UI和API后端.谢谢你的帮助!
来自repo的相关文件
> UI / src / app / components – PostData.Service.ts
> UI / src / app / components -postRand.component.ts
> UI / src / app / components / models – Post.ts
> API / src / controllers – PostAPIController.cs
> API / src / models – Post.cs
> API / src / models – DataAccess.cs
API运行
我相信我需要在api层中进行此修复,因为它将我的_id作为对象传递而不是字符串…这只是我的猜测,我不知道如何做到这一点.
最佳答案 我发现了如何解决我的问题….
>我必须回到我的模型并通过解析它将我的ObjectId转换为字符串
[BsonRepresentation(BsonType.ObjectId)]
公共字符串ID
{
get {return Convert.ToString(_id); }
set {_id = MongoDB.Bson.ObjectId.Parse(value); }
}
>然后我将我的新Id字段添加到我的所有http调用中,更改了我通过ObjectId调用的位置,现在调用我的新字符串值Id
>现在,当我运行我的Api时,获取我的对象的实际ID
>最后,我将新生成的Id字段添加到我的前端,用新Id替换删除函数中的旧objectId值.
所有代码都已在我的git项目中更新,请参阅相关文档中引用的文件.