任何人都可以告诉我,我做错了什么?
db文件结构:
{
"_id" : "module_settings",
"moduleChildren" : [
{
"_id" : "module_settings_general",
"name" : "General",
},
{
"_id" : "module_settings_users",
"name" : "Users",
},
{
"_id" : "module_settings_emails",
"name" : "Emails",
}
],
“permissions” : [
"module_settings_general",
"module_settings_emails"
]
}
Run Code Online (Sandbox Code Playgroud)
管道阶段:
{ $project: {
filteredChildren: {
$filter: {
input: "$moduleChildren",
as: "moduleChild",
cond: { $in : ["$$moduleChild._id", "$permissions"] }
}
},
}}
Run Code Online (Sandbox Code Playgroud)
我需要过滤"moduleChildren"数组以仅显示哪些ID在"权限"数组中.我试过"$$ ROOT.permissions"和"$$ CURRENT.permissions",但没有一个能正常工作.我总是得到一个错误,$ in缺少数组作为参数.当我像这样硬编码数组时它起作用:cond: { $in : ["$$moduleChild._id", [“module_settings_general", "module_settings_emails”]] }
所以看起来问题在于传递数组.谢谢你的任何建议!
我是 MongoDB 菜鸟,所以如果我的问题很愚蠢,请不要评判我:P\n我试图从 MongoDB 获取一些结果来创建一个表,该表将显示我每周每天玩某个游戏的百分比统计数据(所有游戏)每天在一起 = 100%)。这是我的数据库 JSON 导入:
\n\n[\n{"title":"GTA","date":"2017-11-13"},\n{"title":"GTA","date":"2017-11-13"},\n{"title":"BattleField","date":"2017-11-13"},\n{"title":"BattleField","date":"2017-11-13"},\n{"title":"BattleField","date":"2017-11-14"}\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n我编写了一个聚合,按天对结果进行分组,并计算每天玩游戏的总次数\xe2\x80\xa6:
\n\ndb.games.aggregate([\n { $project: { _id: 0, date : { $dayOfWeek: "$date" }, "title":1} },\n { $group: { _id: {title: "$title", date: "$date"}, total: {$sum: 1} } }, \n { $group: { _id: "$_id.date", types: {$addToSet: {title:"$_id.title", total: "$total"} } } }\n])\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 这是我现在从 MongoDB 得到的:
\n\n/* 1 */\n{\n "_id" : 3, \n "types" : [\n {\n "title" : "BattleField",\n "total" : 1.0\n }\n ]\n},\n\n/* …
Run Code Online (Sandbox Code Playgroud) 是否可以在多选选择器中将选定文本格式“静态”与选定文本格式“计数”一起使用?
这是我当前的选择器:
<select id=“postcodeSelect" class="selectpicker" title="Postcode" data-size="5" data-live-search="true" multiple data-selected-text-format="static">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
现在无论选择什么,它总是显示“邮政编码”,但如果选择了 3 个邮政编码,我希望它显示“邮政编码(选择 3 个项目)”。