2016-08-22 5 views
0

私は現在、特定の社会(それはソーシャルネットワークサイトbtwです)の委員会にいるすべてのユーザーのための通知を作成しています。この:this.findは関数ではありません、Mongooseスキーマデザイン

User.statics.newSocietyNotification = function(req, socID, typeID, url, next){ 
    var tmpUsers = [] 
    Society.findById(socID, function(err, doc){ 
    console.log(doc) 

    doc.committee.forEach(function(comMember, i){ 
     tmpUsers.push(comMember._uid) 
    }) 
    this.find({'_id' : { $in : tmpUsers } }, function(err, docs){ 
     if(err){ 
     console.log(err) 
     } 
     if(docs.length == 0 || docs == null){ 
     next(false) 
     } 
     next(docs) 
     console.log(docs) 
    }) 
    }) 
} 

それは、このメッセージを表示して、サーバをクラッシュ:

TypeError: this.find is not a function 
    at /home/ubuntu/workspace/models/user.js:368:10 
    at Query.<anonymous> (/home/ubuntu/workspace/node_modules/mongoose/lib/model.js:3324:16) 
    at /home/ubuntu/workspace/node_modules/mongoose/node_modules/kareem/index.js:259:21 
    at /home/ubuntu/workspace/node_modules/mongoose/node_modules/kareem/index.js:127:16 
    at nextTickCallbackWith0Args (node.js:420:9) 
    at process._tickCallback (node.js:349:13) 

誰もが私が間違ってやっていることを知っているならば、私は大いに助けいただければ幸いです:)

EDITを: User.findを使用する代わりに、ライン368の「この」

TypeError: User.find is not a function 
    at /home/ubuntu/workspace/models/user.js:368:10 
    at Query.<anonymous> (/home/ubuntu/workspace/node_modules/mongoose/lib/model.js:3324:16) 
    at /home/ubuntu/workspace/node_modules/mongoose/node_modules/kareem/index.js:259:21 
    at /home/ubuntu/workspace/node_modules/mongoose/node_modules/kareem/index.js:127:16 
    at nextTickCallbackWith0Args (node.js:420:9) 
    at process._tickCallback (node.js:349:13) 
+0

あなたは 'User'または' Society'を探していますか? 'this'を使用する代わりに、関連するモデルを再度使用してください。そうすれば、あなたは、あなたが望むものに縛られていることを希望/仮定する必要はありません。 – dvlsg

+0

試着 'Society.find' –

+0

編集を参照して、何らかの理由で同じエラーが表示される – user3265690

答えて

1

あなたthisfindByIdメソッドのコールバック関数のコンテキストを参照しています。そのコールバック関数(オブジェクトの下にあります)には、findというメソッドはありません。

代わりに、Society.find(...またはUser.find(...を使用して、データベース内の他の項目を検索してください。

関連する問題