0
我想取回帳戶陣列如果查詢找到角色的「精英」檢索特定領域的貓鼬
我嘗試用
db.users.aggregate(
{ $match : { "account.role" : "Elite" } }
);
但我有所有的對象......
{
"_id" : ObjectId("7623902143981943"),
"account" : [
{
"role" : "Elite",
"action" : [
"create",
"read",
"update",
"delete"
],
"extra" : {
account:[1,2,3,4]
}
},
{
"role" : "User",
"action" : [
"create",
"read",
"update",
"delete"
],
"extra" : {
account:[10]
}
}
],
}
如果是來自查詢的肯定結果,我可以只檢索額外的數組(帳戶:[1,2,3,4])嗎?或者我必須解析收到的對象? (架構是非常簡單的,但是我有很多角色)
謝謝,但我有這個'錯誤異常:一個流水線階段規範對象必須只包含一個字段.' – Twinsen
我編輯了'aggregate({$ match:..},{$ project:...})'而不是'aggregate({$ match:..,$ project:...})的答案' 。參考可以在這裏找到(http://docs.mongodb.org/manual/core/aggregation-pipeline/) –
再次感謝,但在我的結果中,我有兩個extra.account數組精英和extra.account用戶..我可以只檢索Elite嗎? – Twinsen