首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过传递条件的JSON对象来使用Vogels扫描或查询Dynamodb表?

如何通过传递条件的JSON对象来使用Vogels扫描或查询Dynamodb表?
EN

Stack Overflow用户
提问于 2018-11-06 09:44:15
回答 1查看 287关注 0票数 0

我正在尝试实现一个自定义sails-dynamodb适配器,类似于这一个,但与新的Sails版本v1.0兼容。

我被困在实现find()函数中,试图使用传递的条件映射( query.criteria.where参数)来使用Vogels库构建对Dynamodb数据库的动态查询。

如果我尝试手动构建查询,它可以工作:

代码语言:javascript
复制
model.scan().where('email').equals('xyz@abc.com').exec((err, result) => {
  if (err) {
    sails.log.error(err);
  } else {
    sails.log.info(result);
  }
});

但我想实现的是类似于这样的东西:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-06 11:08:09

这里有一个关于这个问题的工作,我将一个一个地迭代查询的位置条件,并将它们附加到扫描器对象中。

代码语言:javascript
复制
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);
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53169303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档