我正在尝试实现一个自定义sails-dynamodb适配器,类似于这一个,但与新的Sails版本v1.0兼容。
我被困在实现find()函数中,试图使用传递的条件映射( query.criteria.where参数)来使用Vogels库构建对Dynamodb数据库的动态查询。
如果我尝试手动构建查询,它可以工作:
model.scan().where('email').equals('xyz@abc.com').exec((err, result) => {
if (err) {
sails.log.error(err);
} else {
sails.log.info(result);
}
});但我想实现的是类似于这样的东西:
model.scan({email: 'xyz@abc.com'}).exec((err, result) => {
if (err) {
sails.log.error(err);
} else {
sails.log.info(result);
}
});Sails版本v1.0.2
Vogels版本v2.2.0
发布于 2018-11-06 11:08:09
这里有一个关于这个问题的工作,我将一个一个地迭代查询的位置条件,并将它们附加到扫描器对象中。
var _ = require('@sailshq/lodash');
let scanner = model.scan();
// Build query conditions
_.forOwn(sq3.criteria.where, (value, key) => {
scanner.where(key).equals(value);
});
scanner.exec((err, result) => {
if (err) {
sails.log.error(err);
} else {
sails.log.info(result);
}
});https://stackoverflow.com/questions/53169303
复制相似问题