間で一致するすべてのネストされた配列を取得します:、連結方式と私はモデルを持っているデータベースで、私は疑問を持っているコレクション全体
board.model.jsは、アレイカードを追加するリスト内
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BoardSchema = new Schema({
name: { type: String, maxlength: 20 },
lists : { type: Array },
users : [{ type : Schema.Types.ObjectId, ref: 'User' }],
});
module.exports = mongoose.model('Board', BoardSchema);
。 実際には、それは次のようになります。すべてのObjectIdが(「59df60fb6fad6224f4f9f22a」):
{
"_id" : ObjectId("59df60fb6fad6224f4f9f22a"),
"name" : "1",
"users" : [
ObjectId("59cd114cea98d9326ca1c421")
],
"lists" : [
{
"list" : "1",
"cards" : [
{
"name" : "1",
"Author" : [
ObjectId("59df60fb6fad6224f4f9f22a")
],
},
{
"name" : "2"
},
{
"name" : "3"
}
]
},
{
"list" : "2",
"cards" : [
{
"name" : "1",
"Author" : [
ObjectId("59df60fb6fad6224f4f9f22a")
],
},
{
"name" : "2",
"Author" : [
ObjectId("59df60fb6fad6224f4f9f22a")
],
},
{
"name" : "3"
}
]
}
],
"__v" : 0
}
オーケー、これは1枚の基板の一例で、質問は私が著者は、「著者」であるだけカードを引くことができていますボード?
NPで .aggregate(...) 'のようなコレクションの名前に変更します。 2. mongoシェルでクエリを実行します。 3. 'db。 .aggregate'を' Board.aggregate(..) 'に置き換えて、マングースで実行します。 –
Veeram
$filter
を交換してください。いくつかのこと - 1. 'collection'を' db。ちょっとした結果が得られましたか?そのような複雑なクエリを作成していませんでした。カード名しかありませんか? –
あなたはカード全体の要素を持つカード配列を持っています。名前だけが必要ですか? – Veeram