Sails.js - 当我是exec()时,数据对象变为空白

时间:2014-12-14 00:16:54

标签: node.js model-view-controller sails.js

我的应用程序的控制器操作有一个while循环(while(item = stream.read()))

其中如果我执行以下操作:

while (item = stream.read()) {        
    console.log(item);
     }

我可以看到项目对象,但如果我执行以下操作:

while (item = stream.read()) { 
    Buzzfeed.find({'title': {'contains': item.title}}).exec(function(err, item) {
        console.log(item); 
    });
}

数据以一系列空数组出现

供参考,这是我整个控制器的链接:http://pastebin.com/YQJTC9w0

好奇我哪里错了?

1 个答案:

答案 0 :(得分:2)

尝试

while (item = stream.read()) { 
  Buzzfeed
   .find()
   .where({'title': {'contains': item.title}})
   .exec(function(err, item) {
      console.log(item); 
    });
}

来自Waterline ORM' documentationfind用于查找单个条件。它应该使用where代替,因为它需要查询"其中"逻辑。