Node.js Sails.js-当我是exec()时,数据对象变为空白
我的应用程序的控制器操作有一个while循环(while(item=stream.read()) 其中,如果我执行以下操作:Node.js Sails.js-当我是exec()时,数据对象变为空白,node.js,model-view-controller,sails.js,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) {
while (item = stream.read()) {
console.log(item);
}
while (item = stream.read()) {
Buzzfeed.find({'title': {'contains': item.title}}).exec(function(err, item) {
console.log(item);
});
}
我可以看到item对象,但如果执行以下操作:
while (item = stream.read()) {
console.log(item);
}
while (item = stream.read()) {
Buzzfeed.find({'title': {'contains': item.title}}).exec(function(err, item) {
console.log(item);
});
}
数据显示为一系列空数组
以下是指向我的整个控制器的链接,仅供参考:
好奇我哪里出错了?试试看
while (item = stream.read()) {
Buzzfeed
.find()
.where({'title': {'contains': item.title}})
.exec(function(err, item) {
console.log(item);
});
}
从
吃水线ORM
中,find
用于查找单个标准。它应该使用where
,因为它需要一个查询“where”逻辑。即使代码是正确的,包含一些解释也是很好的。很抱歉,谢谢你的建议。其实因为我的英语不好,我觉得很难解释,哪怕是一件简单的事情,哈哈。以后不会再重复了。OP的语法很好;find
的第一个参数是where子句。链接。其中()
是可选的替代语法。所以,您的代码在功能上与他们发布的代码相同。@sgress454我也不知道它是否有bug。因为如果在find
中用where
链接某个字段,我也会遇到这样的问题,我不太明白,但它是以这种方式工作的,所以我总是使用这种方式。您是否确认您的数据库中有Buzzfeed
记录,其标题包含项。返回的标题值?如果不是,则这些空数组可能是预期的输出;您将执行多个不返回结果的查询。