如何使用 find 从环回查询中获取结果?
How do I get the results from a loopback query using find?
我正在使用 nodejs。使用库 loopback-connector 连接到 db2 db。
我想做的是为 运行 特定任务创建一个 cron 作业。
在那项任务中,我假设根据特定条件查询数据库,在本例中为 invCode,然后进行一些 post 处理,然后更新回数据库。
问题一:
这是获取查询结果的正确方法吗?
问题二:
我的resultList return一个Promise结果。我如何获得实际值?
'use strict';
var loopback = require('loopback');
var boot = require('loopback-boot');
const cron = require("node-cron");
var app = module.exports = loopback();
app.start = function() {
// schedule tasks to be run on the server
var job1 = cron.schedule("* * * * * * ", function() {
console.log("---------------------");
console.log("Running Cron Job 1");
var Inventory = app.models.Inventory;
var resultList = Inventory.find({where: {invCode: 'A10231'}})
.then(function(result){
return resultList = result;
})
.catch(function(err){
return err;
});
console.log("outside!");
console.log("resultList: " + resultList.value );
});
job1.start();
// start the web server
return app.listen(function() {
app.emit('started');
var baseUrl = app.get('url').replace(/\/$/, '');
console.log('Web server listening at: %s', baseUrl);
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
};
// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module) {
app.start();
}
});
find
方法是异步的,returns 是 Promise。实际上,您的代码
console.log("resultList: " + resultList.value );
总是在这个块之前执行:
Inventory.find({where: {invCode: 'A10231'}})
.then(function(err, inventories) {
// inventories is a list of Inventory objects, use your data HERE
})
我正在使用 nodejs。使用库 loopback-connector 连接到 db2 db。
我想做的是为 运行 特定任务创建一个 cron 作业。 在那项任务中,我假设根据特定条件查询数据库,在本例中为 invCode,然后进行一些 post 处理,然后更新回数据库。
问题一:
这是获取查询结果的正确方法吗?
问题二:
我的resultList return一个Promise结果。我如何获得实际值?
'use strict';
var loopback = require('loopback');
var boot = require('loopback-boot');
const cron = require("node-cron");
var app = module.exports = loopback();
app.start = function() {
// schedule tasks to be run on the server
var job1 = cron.schedule("* * * * * * ", function() {
console.log("---------------------");
console.log("Running Cron Job 1");
var Inventory = app.models.Inventory;
var resultList = Inventory.find({where: {invCode: 'A10231'}})
.then(function(result){
return resultList = result;
})
.catch(function(err){
return err;
});
console.log("outside!");
console.log("resultList: " + resultList.value );
});
job1.start();
// start the web server
return app.listen(function() {
app.emit('started');
var baseUrl = app.get('url').replace(/\/$/, '');
console.log('Web server listening at: %s', baseUrl);
if (app.get('loopback-component-explorer')) {
var explorerPath = app.get('loopback-component-explorer').mountPath;
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
}
});
};
// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function(err) {
if (err) throw err;
// start the server if `$ node server.js`
if (require.main === module) {
app.start();
}
});
find
方法是异步的,returns 是 Promise。实际上,您的代码
console.log("resultList: " + resultList.value );
总是在这个块之前执行:
Inventory.find({where: {invCode: 'A10231'}})
.then(function(err, inventories) {
// inventories is a list of Inventory objects, use your data HERE
})