Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 标签匹配数据库查询_Mongodb_Database - Fatal编程技术网

Mongodb 标签匹配数据库查询

Mongodb 标签匹配数据库查询,mongodb,database,Mongodb,Database,我需要一个关于这个问题的外部视图,围绕我想要进行的数据库查询。 假设我有: 带有标记的对象1:a、b、c 带有标记的对象2:a、b、f 带有标记的对象3:a、f 带标签的用户1:a、b、g、f 我有用户1的标签,现在我想在不获取所有对象的情况下获取对象2和对象3。 用户可以有10+个标签 有没有人有这样的建议/想法?我无法绕开它,我不确定这种数据结构是否可行。标签是文档中的一个数组吗?所有三个都应该匹配,因为它们与用户1共享标记?听起来您想在这里使用{“tags”:{“$in”:[“a

我需要一个关于这个问题的外部视图,围绕我想要进行的数据库查询。 假设我有:

  • 带有标记的对象1:a、b、c
  • 带有标记的对象2:a、b、f
  • 带有标记的对象3:a、f

  • 带标签的用户1:a、b、g、f
我有用户1的标签,现在我想在不获取所有对象的情况下获取对象2和对象3。
用户可以有10+个标签


有没有人有这样的建议/想法?我无法绕开它,我不确定这种数据结构是否可行。

标签是文档中的一个数组吗?所有三个都应该匹配,因为它们与用户1共享标记?听起来您想在这里使用
{“tags”:{“$in”:[“a”、“b”、“g”、“f”]}
搜索包含对象的集合。但是你的问题可能会更清楚。你的意思是,你试图获取
User 1
的标记,然后获取所有只有匹配标记的
对象?是的,标记在用户和对象中都是一个数组。我需要获取所有标记与用户的完全匹配的对象,但是用户可以有额外的标记。所以对象有a,b,c,用户有a,b,c,e,r,t,g->它将匹配,但对象有a,b,d,用户有a,b,c,e,r,t,g->它不匹配。我现在的解决方案是制作一些组合,但它可以生成大量组合。。(很抱歉我的回复格式有问题)