2016-05-11 5 views
1

У меня есть объект, который я хотел бы вставить в таблицу в моем MSSQL DB.Синтаксис «asTable» с модулем Seriate в узле

В соответствии с Seriate docs на github это не должно быть проблемой.

Моя установка выглядит следующим образом:

apiRoute.js

module.exports = function(express, schema) { 

    var apiRoute = express.Router(); 

    apiRoute.post('/test-path', function(req, res) { 

     schema.test() 
     .then(function(results) { 
      res.json(results); 
     }, function(err) { 
      res.json(err); 
     }); 
    }); 

    return apiRoute; 

} 

schema.js

var sql  = require('seriate'); 
var when = require('when'); 



var test = function() {  
    return sql.execute({ 
     query: "select * from @children", 
     params: { 
      children: { 
       val: [ 
        { id: 1, firstName: "James", middleName: "Paul"}, 
        { id: 2, firstName: "John", middleName: "Winston" }, 
        { id: 3, firstName: "George", middleName: "Harold" }, 
        { id: 4, firstName: "Richard", middleName: "Parkin" } 
       ], 
       asTable: { 
        id: sql.INT, 
        firstName: sql.NVARCHAR(50), 
        middleName: sql.NVARCHAR(50) 
       } 
      } 
     } 
    }); 
} 

module.exports = { 
    test: test 
} 

Когда я проверяю это с Почтальон, запросы только продолжает идти пока это не закончится.

Если я просто выполнить запрос без asTable части:

select 1 

Он работает просто отлично.

Что мне не хватает?

ответ

0

Вы пробовали использовать .step

и это:

result.transaction .commit()

У меня была такая же проблема, но когда я пересмотрел с использованием этого метода протекавший штраф , но вам нужно также добавить функцию terminary для остановки (т. е. функцию обратного вызова, .end и т. д.).

Сообщите мне, если это не имеет смысла, и я опубликую весь образец кода.