Javascript 无法读取属性';createManager';未定义的

Javascript 无法读取属性';createManager';未定义的,javascript,sails.js,Javascript,Sails.js,我需要sails.js来动态创建一个新的数据存储适配器和连接url,我遇到了这个解决方案,它声明我可以使用无状态驱动程序来实现 但不知怎的,我最终犯了这个错误 TypeError:无法读取未定义的属性“createManager” 以下是我的示例代码: let Driver=sails.getDatastore().Driver; 设connectionUrl=`postgresql://postgres:postgres@本地主机/测试数据库`; 让经理=( 等待驱动程序.createMan

我需要sails.js来动态创建一个新的数据存储适配器和连接url,我遇到了这个解决方案,它声明我可以使用无状态驱动程序来实现

但不知怎的,我最终犯了这个错误

TypeError:无法读取未定义的属性“createManager”
以下是我的示例代码:

let Driver=sails.getDatastore().Driver;
设connectionUrl=`postgresql://postgres:postgres@本地主机/测试数据库`;
让经理=(
等待驱动程序.createManager({connectionString:connectionUrl})
).经理;
顺便说一下,我的sails版本是
1.2.1

并非所有数据库适配器都保证存在此属性。如果 数据存储的基础适配器不支持标准化 驱动程序接口,则驱动程序将不存在

正如文档中明确指出的那样,数据源的底层适配器不支持标准化的驱动程序接口,因此,
驱动程序
未定义,这就是为什么您要

TypeError: Cannot read property 'createManager' of undefined

谢谢,我可以用npm软件包——machinepack postgresql来代替:

let dynamicDb = require('machinepack-postgresql');

let connectionUrl = `postgresql://postgres:postgres@localhost/test-db`;

let manager = (
    await dynamicDb.createManager({ connectionString: connectionUrl })
).manager;

let db;
try {
    db = (
        await dynamicDb.getConnection({ manager: manager })
    ).connection;
} catch (err) {
    await dynamicDb.destroyManager({ manager: manager });
    return err;
}

let [err, data] = await flatry(dynamicDb.sendNativeQuery({
    connection: db,
    nativeQuery: 'select * from table1'
}));

if (err) {
    return err;
}

await dynamicDb.destroyManager({ manager: manager });