有一个数组,例如:
var arr = ["1","1.1","1.3","2","2.1","2.2","2.3"]
和一个收藏A,就像这样
[ {_id:"1",children:["1.1","1.4"]}, {_id:"2",children:["2.1","2.2"]}, {_id:"3",children:["3.1","3.2"]} ]
通过
find({....})
[ {_id:"1",children:["1.1"]}, {_id:"2",children:["2.1","2.2"]}, ]
结果子数组是arr
和集合A
的子数组
的交集
如何设置查询运算符?
您无法通过简单的查询(find)来实现所需的结果,但可以使用聚合框架来实现。方法如下:
var arr = ["1","1.1","1.3","2","2.1","2.2","2.3"]
db.A.aggregate([ { "$unwind" : "$children" },
{ "$match" : { "children" : { "$in" : arr } } },
{ "$group" : { "_id" : "$_id", "children" : { "$push" : "$children" } } }
]
);
样本数据的结果:
{ "_id" : "2", "children" : [ "2.1", "2.2" ] }
{ "_id" : "1", "children" : [ "1.1" ] }
此外,这并不是您要寻找的确切答案,但您可以使用$in运算符非常接近:
db.i.find({
children : { $in : arr}
})
请记住,这不会产生上述结果(它将输出数组中的所有值,而不是{u id:“1”,子项:[“1.1”]},)。
但是您可以按照我的建议,然后在您的应用程序中迭代所有结果,并仅输出与您的数组的子节点的交集。
下面是一个java类CreateDoc,它从一个作为生产者端的web服务发送到另一个作为消费者端的web服务,其内容类型为:json 下面是类表示 一旦我在消费者端接收到作为json的列表,我就不能将其用作java对象,并且内容类型是数组,其中json嵌套在数组中。 以下是代表: 问题是如何处理这一点,并能够使用数据和表示为列表。
本文向大家介绍如何处理R中的“找不到函数(could not find function)”错误?,包括了如何处理R中的“找不到函数(could not find function)”错误?的使用技巧和注意事项,需要的朋友参考一下 由于以下原因,发生错误“找不到功能”- 函数名称不正确。始终记住,函数名称在R中区分大小写。 尚未安装包含该功能的软件包。在使用包中包含的任何功能之前,我们必须在R中安
问题内容: 在http://golang.org/doc/effective_go.html#arrays阅读了以下内容之后… 数组是值。将一个数组分配给另一个数组将复制所有元素。 特别是,如果将数组传递给函数,它将接收该数组的副本,而不是指向该数组的指针。 ......我希望在下面的代码是从不同的,和的是从不同的。有人可以解释一下下面的代码为什么会改组吗?我知道Go还是一门年轻的语言;也许对数组
有时我使用filter,如您所见,有时如果需要,我使用distinct/sort。但是我仍然有很多运行时错误。 我会很乐意提供一些如何处理它的技巧。 @cricket_007 我的代码: 所以基本上,当我试图用嵌套循环解决这个任务时,我得到了O(n^2)的算法复杂度。如何解决?
问题内容: 我有一种算法,当前会分配很大的双精度数组,它会经常更新和搜索。数组的大小为N ^ 2/2,其中N是算法在其上进行操作的行数。为了与算法周围的应用程序相关联,我还必须保留整个内容的副本。 当然,这对我的算法可以处理的行数施加了限制,因为我要应对堆的限制。到现在为止,我还没有要求使用该算法的人员更新- Xmx设置以分配更多的空间,并且效果很好。但是,我现在遇到了一个真正的问题,我需要此数组
经常会有短暂的组织混乱,比如解雇,收购,IPO,新雇佣,等等。对每个人来说这都是令人不安的,但可能对于那些将自尊建立在能力而非位置上的程序员来讲,这种不安不会那么严重。组织混乱对程序员来讲是锻炼他们的魔力的好机会。因为这是一个集体秘密,在最后我会有所保留。如果你不是一个程序员,就不要再读下去了。 工程师有能力创造与维持。 非工程师可以安排人们,但,在典型的软件公司,如果没有程序员的话,他们不能创造