gpt4 book ai didi

MongoDB $从带过滤器的数组中拉出

转载 作者:可可西里 更新时间:2023-11-01 10:38:46 26 4
gpt4 key购买 nike

我有用户集合:

[
{
_id: '5b3935c2d4850aa2d9f0ae25',
feedBucket: [
{
_id: '2a3535c2d4852ba2d9f0ae52',
createdAt: '2018-06-30 21:52:22.681'
},
{
_id: '9f342c2d4852ba2d9f0ae52',
createdAt: '2018-06-30 21:52:22.681'
}
]
},
{
_id: '3d2343c2d4850aa2d9f0ae33',
feedBucket: [
{
_id: '2a3535c2d4852ba2d9f0ae52',
createdAt: '2018-02-30 21:52:22.681'
},
{
_id: '9f342c2d4852ba2d9f0ae52',
createdAt: '2018-06-30 21:52:22.681'
}
]
}
]

我正在尝试从用户 feedBucket 中提取 ID 为“9f342c2d4852ba2d9f0ae52”的文档。

await User.updateMany(
{},
{ $pull: { feedBucket: { _id: '9f342c2d4852ba2d9f0ae52' } } },
{ multi: true }
)

但它不起作用,结果是 { n: 2, nModified: 0, ok: 1 }

最佳答案

如果您的 feedBucket._id 是 ObjectId,那么您需要通过转换为 mongoose ObjectId 来$pull

  const user = await User.update(
{ },
{ $pull: { feedBucket: { _id: mongoose.Types.ObjectId('5b07fa836569d356ba5bd2fa') } } },
{ multi: true }
)

关于MongoDB $从带过滤器的数组中拉出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51135531/

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