在收集test
有文件如下的特定元素:查询嵌套数组或默认
{a:1, list:[{lang:"en", value:"Mother"}, {lang:"de", value:"Mutter"}] }
{a:2, list:[{lang:"en", value:"Iddqd"}] }
我想是尝试匹配list.value
以所选语言生成的查询,但如果它不存在,则返回任何-服务现有的list
项目,因此,例如上述和查询语言de
我需要得到$projection
为:
{a:1, label:"Mutter"},
{a:2, label:"Iddqd"} //since no label matched 'de' let's select any available
Server版本:MongoDB的3.2+
请您详细说明为什么您应该为第二个文档获得“{a:2,label:”Iddqd“}? – styvane
列表的最大长度是否等于2? – styvane
@Styvane - 刚刚更新,简称“Iddqd” - 是任何可用的项目。列表很短 - 不超过10 – Dewfy