2017-09-17 23 views
0

ネストされたID (author.id)の著者によって記事を取得するための正しい構文を特定しようとしています。 SyntaxErrorがスローされ、解決策が見つかりません。ネストされたIDでドキュメントを検索

マイルート:

author: 
    { 
     id: 
     { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: "User"  
     }, 
     username: String, 
     name: String  
    }, 

誰もが私のエラー(複数可)を見ることができるならば、私はそれを感謝:

router.get('/articles/authors/:id', function(req, res){ 

     Article.find({author.id: req.params.id}).sort({createdAt: -1}).exec(function(err, articles){ 
     if(err){ 
      console.log(err); 
      return req.flash('error', 'Unable to find author.'); 
     } else { 
      console.log(articles); 
      res.render('authors/', { 
       articles: articles, 
       pagetitle: 'Articles by ' 
      }); 
     } 
    }); 
    }); 

は私articleSchemaの著者部分はこれです。

答えて

1

ネストしたパスを引用符で囲みます。

をドット表記(「field.nestedField」)を使用し、/組込みネストされた文書内のフィールドのクエリ条件を指定するには:言っているdocumentationを参照してください。

だからあなたのコード

Article.find({author.id: req.params.id}) 

ブリリアント
Article.find({"author.id": req.params.id}) 
+0

に置き換える必要があります!これを理解しようとしている間、私は両方の周りに引用符を入れましたが、うまくいきませんでした。答える時間をとってくれてありがとうBenjamin。上記の引用にも感謝します。 PS。私はMongooseの代わりにMongooseを探していたのでリンクに感謝します。 – JimB814

+0

問題はありません。うれしいです! – Benjamin

関連する問題