首页 > 解决方案 > 查询在多个数组中搜索特定值,并在 mongo db 中获取哪些数组字段包含这些值的结果

问题描述

我想搜索红色标记的值并获取包含该值的所有数组字段的名称。例如,在此屏幕截图中,我想使用它进行搜索,_id值即ObjectId(5e23d52622948b7c28013def)结果应该是“关注者”,因为它包含我所需的搜索,请帮助我。

这是我的社交关系文件的屏幕截图。我想获取包含标记值的数组字段的名称。

标签: mongodbmongoose

解决方案


你可以这样写你的查询

// follower
db.social.findOne({
    '_id':user_id,
    'social_connections.follow.followers':search_id
})

// following
db.social.findOne({
    '_id':user_id,
    'social_connections.follow.following':search_id
})

search_id是您要在数据库中搜索的变量 id,user_id是您要在其中搜索的文档

如果结果是文档,则您的答案为真,如果其为空/未定义,则您的答案为假


推荐阅读