我想通过嵌套数组中字符串的存在来检索文档。例如,数据(表示句子的依存分析)如下所示:
{'tuples': [['xcomp', 'multiply', 'using'],
['det', 'method', 'the'],
['nn', 'method', 'foil'],
['dobj', 'using', 'method']]}
我找到的最接近的解决方案是假设['nn', ...]
是tuples
列表的第二个位置:
db.c.find({'tuples.2.0' : 'nn'})
有没有办法放松固定的位置?元组(不是其内容)可以按任何顺序排列。
其次,如果能够检索具有['nn', 'method', X]
的文档,那将是非常棒的,在依赖关系解析中,这意味着名词“方法”。
谢谢!
发布于 2011-03-10 03:08:02
明白了!
db.c.find({'tuples' : {$elemMatch : {$all : ['nn']}}})
db.c.find({'tuples' : {$elemMatch : {$all : ['nn','method']}}})
https://stackoverflow.com/questions/5250652
复制相似问题