如何在mongodb中查询数组中具有公共特性的对象

如何在mongodb中查询数组中具有公共特性的对象,mongodb,Mongodb,例如,我有一个嵌入字符串数组的对象 ids : ['ab','gg',kl'] 我想查询共享ID最多的前10个对象,它们的注释太长了,但也许你做得再好不过了 哇,这真是个难题。您甚至可以在关系数据库上不进行重大循环的情况下做到这一点吗?我猜在关系数据库的字段中通常没有列表,所以这可能不是一个好问题 我觉得您需要在应用程序端执行此操作,循环并存储一些比较分析,以获得前10名。我甚至认为这在map reduce/aggregation框架中是不可能的,除非您对每个记录都运行map reduce。H

例如,我有一个嵌入字符串数组的对象

ids : ['ab','gg',kl']

我想查询共享ID最多的前10个对象,它们的注释太长了,但也许你做得再好不过了

哇,这真是个难题。您甚至可以在关系数据库上不进行重大循环的情况下做到这一点吗?我猜在关系数据库的字段中通常没有列表,所以这可能不是一个好问题


我觉得您需要在应用程序端执行此操作,循环并存储一些比较分析,以获得前10名。我甚至认为这在map reduce/aggregation框架中是不可能的,除非您对每个记录都运行map reduce。

Hard->这就是它在堆栈溢出上的原因:-)我同意。。。不要认为没有循环和做一些工作是可能的。你在谈论多少数据?100000个对象,也许一个图形数据库更适合这种情况??如果你能在RAM中容纳所有对象,100k是不可能的,但是的,也许一个图形数据库更好,交叉边。我是graph dbs的新手,很抱歉我帮不了你。也许你应该用noe4j或其他东西作为数据库来问一个新问题。你是在试图查找具有嵌入数组的文档,这些数组的元素与指定数组的元素匹配(即匹配ID:['ab'、'gg'、'kl']),还是确切的数组无关紧要,只要文档与另一个文档共享的ID最多?我希望这个问题有意义。