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