2016-07-10 7 views
0

find()を使用して返されたオブジェクトをチェックするときはいつでもTypeError: Object has no method 'find'を取得します。私がオブジェクトに他を取得する方法任意のアイデアを持っていないTypeErrorの取得:オブジェクトにはメソッド 'find'がありません

上記の引用文書のfindOne(), forEach() etc. etc.

getChannels.findOne(query, function(err, data){ 
       if(data){ 
        data.banlist.find(function(list){ 
         var currentTime = Date.now(); 
         var banTime = list ? list.bantime : ""; 
         if(currentTime >= banTime){ 
          var index = data.banlist.indexOf(list); 
          data.banlist.splice(index, 1) 
          data.save(); 
         } 
        }) 
       }  
      }) 
}) 
+0

try logging data – meda

答えて

0

Documents can be retrieved through several static helper methods of models.

を使用するたびに、私は同じエラーを取得し、データベースのレコードを意味します。

あなたがするとき.findOne(query, function(err, data)返されたドキュメントまたはドキュメントを取得します。この場合のfindOneは1つのドキュメント(1つのレコード)です。あなたは、モデルではなく文書を取得しています。クエリメソッドを使用するには、モデルでそれを使用する必要があります。

私はgetChannelsと仮定していますので、ドキュメントを返すときはモデルです。あなたはコールバックでgetChannelsから何かを得ることができます。

このようなものもあります。作業コードではありません。

getChannels.findOne(query, function(err, data){ 
       if(data){ 
        //query anyother Model or collection 
        getChannels.find(function(list){ 
         var currentTime = Date.now(); 
         var banTime = list ? list.bantime : ""; 
         if(currentTime >= banTime){ 
          var index = data.banlist.indexOf(list); 
          data.banlist.splice(index, 1) 
          data.save(); 
         } 
        }) 
       }  
      }) 
}) 
関連する問題