【发布时间】:2016-07-17 01:48:32
【问题描述】:
我有一组文档,其中一个字段是 64 个数字的数组。我想构造一个返回这些文档的查询,其中这个数组已经被减去和求和,但是,我什至不知道如何做这个任务的减法部分。
示例文档可能如下所示。
{
"_id" : ObjectId("577be558033ad33f66684974"),
"syntactic_fingerprint" : [
0.921382546424866,
0.048630952835083,
-0.251873761415482,
-0.0470362603664398,
0.0,
0.0296048410236835,
0.0319229736924171,
-0.0332595892250538,
-0.0694081708788872,
-0.117949850857258,
-0.0555221512913704,
-0.176394507288933,
0.0160530339926481,
-0.0234932824969292,
-0.0148191852495074,
0.0816841721534729,
0.0323052480816841,
0.0,
0.0,
0.0142431678250432,
0.0,
0.0,
0.0189650449901819,
0.0386682450771332,
0.0308650359511375,
0.0,
0.0310780759900808,
0.0361337624490261,
0.0,
0.0,
0.0,
0.0128832636401057,
-0.0125190699473023,
0.0,
-0.0282401368021965,
-0.0348126254975796,
-0.0154333971440792,
-0.0173368379473686,
-0.0443549081683159,
-0.0181444175541401,
-0.0224117543548346,
0.0,
-0.0689809918403625,
0.0,
-0.0300765186548233,
0.0,
0.0,
-0.0184972882270813,
0.0,
0.0,
0.0,
-0.0128712980076671,
0.0,
0.0,
0.0183296073228121,
-0.017868610098958,
0.0,
0.0,
-0.0145018044859171,
0.0134829748421907,
-0.0138665018603206,
0.0,
0.0,
0.0
]
}
我正在尝试构建一个查询,该查询将采用 64 个元素“syntactic_fingerprint”向量之一(作为常数),并从每个其他文档的指纹中减去它,然后将减去的指纹的值相加成一个号码。
这似乎应该通过聚合管道以某种方式实现......但我似乎无法找到一种优雅的方式来做到这一点。
【问题讨论】:
标签: arrays mongodb subtraction