2

我已经在这里找了一会儿,但我真的找不到任何能真正回答我遇到的问题或问题的东西,所以我试了一下。我的 REST API 中有一个函数,它赋予用户终止他或她自己的会员资格的权利。问题是当用户这样做时,需要更新其他几个嵌套字段。这些字段都嵌套在一个对象中,即所有权对象。属性是 owner、renter 和 caretaker,其中值是要删除的用户的 ID。如果 ID 位于需要删除的字段之一,并且 ID 所在的位置可能会有所不同。

这是我到目前为止所做的:

await Horse.updateMany(
    { 'ownership.owner': req.body.id },
    { 'ownership.owner': 'someAdminIDHere' },
);

await Horse.updateMany(
    { 'ownership.renter': req.body.id },
    { 'ownership.renter': null },
);

await Horse.updateMany(
    { 'ownership.caretaker': req.body.id },
    { 'ownership.caretaker': null },
);

但这感觉真的很多余,我希望找到更好的方法。我一直在研究填充和其他一些选项,但我不确定它们是否是解决方案。非常感谢这里的一些帮助,尤其是关于我如何用猫鼬解决这个问题的清晰描述代码示例。

4

0 回答 0