Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 用于在多个数组中搜索特定值的查询,还可以获得在mongo db中哪些数组字段包含这些值的结果_Mongodb_Mongoose - Fatal编程技术网

Mongodb 用于在多个数组中搜索特定值的查询,还可以获得在mongo db中哪些数组字段包含这些值的结果

Mongodb 用于在多个数组中搜索特定值的查询,还可以获得在mongo db中哪些数组字段包含这些值的结果,mongodb,mongoose,Mongodb,Mongoose,我想搜索红色标记的值并获取包含此值的所有数组字段的名称。例如,在这个屏幕截图中,我想使用\u id和值vizObjectId(5e23d52622948b7c28013def)进行搜索,结果应该是“followers”,因为它包含我所需的搜索,请帮助我 您可以这样编写查询 // follower db.social.findOne({ '_id':user_id, 'social_connections.follow.followers':search_id }) // fol

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


您可以这样编写查询

// 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\u id
是要在数据库中搜索的变量id,而
user\u id
是要在其中搜索的文档


如果结果是一个文档,则您的答案为true,如果其为null/未定义,则您的答案为false

请共享示例数据&您期望从该查询中获得的响应示例我已附上我的数据的照片,我想进行类似db.social.find的查询({u id,“哪个字段包含此值”\u id});请看附件中的照片。我要获取包含搜索值的数组字段的名称。您要在followers/following数组中包含指定id的文档列表,对吗?如果这些关注者或后续数组包含我搜索的id,我需要它们的名称。例如,如果我搜索某个id,并且如果这些关注者或后续数组包含这些id,则返回true作为关注者:true或通过其他方式给出结果。但是我只想知道这些数组(followers或followers)是否包含我的搜索id。我要搜索的文档的id应该放在哪里?如果follow和followers中都有相同的“search\u id”,我怎么知道follow和followers中有相同的id呢?你可以为同一个数组编写两个不带“$或”块的单独查询