简体   繁体   English

[Function (anonymous)]中如何提取数据

[英]How to extract data in [Function (anonymous)]

I'm trying data extraction in Node.js with Firebird.我正在尝试使用 Firebird 在 Node.js 中提取数据。

First code:第一个代码:

var sql1 = 'select id,id_asset_element,duration,start_datetime,show_name from MAIN_EVENT where start_datetime > DATEDIFF(millisecond, TIMESTAMP\'0001-01-01 00:00\', CURRENT_TIMESTAMP) and id_playlist=1 order by 1 asc;'

app.get('/', function(req, res) {
firebird.attach(options, function(err, db) {

    if (err)
        throw err;  

    // db = DATABASE
    db.query(sql1, function(err, result) {
        // IMPORTANT: close the connection
        console.log(result())
        db.detach();
        res.render('pages/index', {
            result : result
          });

        if(err)
            console.log(err)
        });


    });
   })

And first log:第一个日志:

  {
    ID: 744636,
    ID_ASSET_ELEMENT: 86869,
    DURATION: 27000,
    START_DATETIME: 63760068424160,
    SHOW_NAME: 'CHID, CLIP'
  },
  {
    ID: 744637,
    ID_ASSET_ELEMENT: 81723,
    DURATION: 96120,
    START_DATETIME: 63760068451160,
    SHOW_NAME: 'CHID, CLIP'
  },

This result is good.这个结果很好。

Second Code:第二个代码:

var sql2 = 'select IMPORT_FIELDS from MAIN_EVENT where start_datetime > DATEDIFF(millisecond, TIMESTAMP\'0001-01-01 00:00\', CURRENT_TIMESTAMP) and id_playlist=1 order by 1 asc;'

    app.get('/test/', function(req, res) {



        firebird.attach(options, function(err, db) {
    
            if (err)
                throw err;
        
            // db = DATABASE
            db.query(sql2, function(err, result) {
                // IMPORTANT: close the connection
                console.log(result)
                db.detach();    
                res.render('pages/test', {
                    result : result
                  });
    
                if(err)
                    console.log(err)
                });
    
    
            });
            
    })
    

And second log:第二个日志:

  { IMPORT_FIELDS: [Function (anonymous)] },
  { IMPORT_FIELDS: [Function (anonymous)] },
  { IMPORT_FIELDS: [Function (anonymous)] },
  { IMPORT_FIELDS: [Function (anonymous)] },

If I open, localhost:3000/test result is this:如果我打开,localhost:3000/test 结果是这样的:

function(callback) { // callback(err, buffer, name); statement.connection.startTransaction(ISOLATION_READ_UNCOMMITTED, function(err, transaction) { if (err) { callback(err); return; } statement.connection._pending.push('openBlob'); statement.connection.openBlob(id, transaction, function(err, blob) { var e = new Events.EventEmitter(); e.pipe = function(stream) { e.on('data', function(chunk) { stream.write(chunk); }); e.on('end', function() { stream.end(); }); }; if (err) { callback(err, name, e); return; } function read() { statement.connection.getSegment(blob, function(err, ret) { if (err) { transaction.rollback(function() { e.emit('error', err); }); return; } if (ret.buffer) { var blr = new BlrReader(ret.buffer); var data = blr.readSegment(); e.emit('data', data); } if (ret.handle !== 2) { read(); return; } statement.connection.closeBlob(blob); transaction.commit(function(err) { if (err) { e.emit('error', err); } else { e.emit('end'); } e = null; }); }); } callback(err, name, e); read(); }); }); } function(callback) { // callback(err, buffer, name); statement.connection.startTransaction(ISOLATION_READ_UNCOMMITTED, function(err, transaction) { if (err) { callback(err); return; } statement.connection._pending.push('openBlob'); statement.connection.openBlob(id, transaction, function(err, blob) { var e = new Events.EventEmitter(); e.pipe = function(stream) { e.on('data', function(chunk) { stream.write(chunk); }); e.on('end', function() { stream.end(); }); }; if (err) { callback(err, name, e); return; } function read() { statement.connection.getSegment(blob, function(err, ret) { if (err) { transaction.rollback(function() { e.emit('error', err); }); return; } if (ret.buffer) { var blr = new BlrReader(ret.buffer); var data = blr.readSegment(); e.emit('data', data); } if (ret.handle !== 2) { read(); return; } statement.connection.closeBlob(blob); transaction.commit(function(err) { if (err) { e.emit('error', err); } else { e.emit('end'); } e = null; }); }); } callback(err, name, e); read(); }); }); } function(callback) { // callback(err, buffer, name);
      

Problem问题

How can I extract [Function (anonymous)] from second log.如何从第二个日志中提取 [Function (anonymous)]。

I'm using, Node.js, Express, Ejs and Firebird.我正在使用 Node.js、Express、Ejs 和 Firebird。

Update :更新 :

npmjs.com/package/node-firebird npmjs.com/package/node-firebird

I found how to display blob data.我找到了如何显示 blob 数据。 This code is working for me.这段代码对我有用。

select cast(BLOBDATANAME as varchar(1000) character set utf8)

Firebird-Nodejs Firebird-Nodejs

firebird.attach(options, function(err, db) {

    if (err)
        throw err;

    // db = DATABASE
    db.query(sql2, function(err, result) {
        // IMPORTANT: close the connection
        console.log(result)
        db.detach();    

        if(err)
            console.log(err)
        });


    });

Result:结果:

{ CAST: '<XML></XML>' }, { CAST: '<XML></XML>' }, { CAST: '<XML></XML>' },

Thanks all, regards.谢谢大家,问候。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM