我是mongodb的新手,但我一直坚持正确的投影...
这是我的文档:
{
"field1":"value1",
"field2":[
"item1",
"item2",
"item3",
"item4"
]
}
这是一些通缉名单:
["item1", "item3","item5"];
,我想从上面的“需要的列表”中获得字段2中的现有项目。 在我的示例中,结果值应为[“ item1”,“ item2”]
那是什么计划? 这不起作用:
db.users.find({"field1": "value1"}, {"field1" : 1,"field2": {$in: ["item1", "item3","item5"]}}).pretty()
非常感谢!
已解决: 多亏了安东尼·温兹莱特(Anthony Winzlet),所缺少的是它必须匹配字段1,例如:
db.collection.aggregate([
{
$match: {"field1": "value1"}
},
{ "$project": {
"field2": {
"$filter": {
"input": "$field2",
"cond": {
"$in": [
"$$this",
["item1", "item3", "item5"]
]
}
}
}
}}
])
答案 0 :(得分:1)
您可以尝试以下汇总
i18next.on('languageChanged', function(lng) {
window.location.href = `${location.origin}/${lng}${location.pathname}`;
});)