环境:Mongo 4.2.2。从 Compass 1.20.5 调用
我$unwind
将数组(单个文档)的 2 个元素放入 2 个单个文档中:
{
{ id: 1 },
{ termTrg: { lang: "ara"} },
{ sublangTrans: { lang: "apj"} }
}
和
{
{ id: 1 },
{ termTrg: { lang: "ara"} },
{ sublangTrans: { lang: "ara"} }
}
在我$group
再次将它们按 id 1 放入一个文档之前,我希望使用$match
文档中的 lang 属性相同的文档进行过滤。静态提供字符串ara
,按预期删除第二个文档。
$match { 'sublangTrans.lang' : { $ne: 'ara' } }
如果我尝试ara
用节点的值替换termTrg.lang
,它不会删除任何文档。
$match { 'sublangTrans.lang' : { $ne: 'termTrg.lang' } }
为什么termTrg.lang
's 的值没有解决?什么是正确的语法?是否有另一种过滤文档的方法?