You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoSH中查询filmsReviewed数组含指定ObjectId的文档?

解决MongoSH中查询数组包含指定ObjectId文档的问题

你的查询语句出错是因为误用了$elemMatch,且语法格式不正确。针对filmsReviewed数组直接存储ObjectId的场景,有两种正确的查询方式:

  • 直接匹配数组元素(最简洁):

    db.users.find({ filmsReviewed: ObjectId("6405429fd07c188c61461a8b") })
    

    MongoDB会自动识别数组字段的匹配逻辑,只要数组中包含该ObjectId,文档就会被返回。

  • 用$in匹配(效果和上面一致,适合多值查询场景):

    db.users.find({ filmsReviewed: { $in: [ObjectId("6405429fd07c188c61461a8b")] } })
    

原查询错误说明

$elemMatch用于匹配数组中嵌套文档满足指定条件的场景,而你的数组元素是单一ObjectId值,不需要用它。另外原语句中{ObjectId("6405429fd07c188c61461a8b")}是无效语法,对象的键不能直接是函数调用。

内容的提问来源于stack exchange,提问作者D. Rattansingh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:08:13