gpt4 book ai didi

node.js - 编写查询以从多个值添加键

转载 作者:可可西里 更新时间:2023-11-01 11:39:19 25 4
gpt4 key购买 nike

我正在解析一个DBF文件,就像

"{\"srCode\":\"EUCRDCTN\",\"accountCode\":\"\",\"priceList\":\"EUCN\",\"discount\":null,\"termDays\":30}"
"{\"srCode\":\"\",\"accountCode\":\"MEN006\",\"priceList\":\"EUSD\",\"discount\":10,\"termDays\":null}"

在某些地方,我在 srCode 中有一个值,在其他地方,我在 accountCode 中有一个值

将其插入一个 redis 集合的正确方法是什么,这样,我得到如下内容:

我是在 redis-cli 上做的

☺  redis-cli                                                                                                                                                               2.1.0""
redis 127.0.0.1:6379> HMSET test "MEN006" "{\"srCode\":\"\",\"accountCode\":\"MEN006\",\"priceList\":\"EUSD\",\"discount\":10,\"termDays\":null}"
OK
redis 127.0.0.1:6379> HMSET test "GBCRDCTN" "{\"srCode\":\"EUCRDCTN\",\"accountCode\":\"\",\"priceList\":\"EUCN\",\"discount\":null,\"termDays\":30}"
OK

redis 127.0.0.1:6379> hgetall "test"
1) "GBCRDCTN"
2) "{\"srCode\":\"EUCRDCTN\",\"accountCode\":\"\",\"priceList\":\"EUCN\",\"discount\":null,\"termDays\":30}"
3) "MEN006"
4) "{\"srCode\":\"\",\"accountCode\":\"MEN006\",\"priceList\":\"EUSD\",\"discount\":10,\"termDays\":null}"
redis 127.0.0.1:6379>

这行得通,但在我的代码中,这是 coffeescript,我有

exports.router = () ->
express.Router()
.post "/buyers", buyers
.use (req,res) -> res.status(404).send("Invalid API Call")

buyers = (req, res, next) ->
console.log req.body
buyersMap = _(req.body).map( (r) -> [r.accountCode, JSON.stringify(r)] ).zipObject().value()
srCodeMap = _(req.body).map( (r) -> [r.srCode, JSON.stringify(r)] ).zipObject().value()
hmsetPr "buyers", buyersMap
hmsetPr "buyers", srCodeMap
.then (result) -> res.status(200).send("Ok")
.catch next

所以如果我搜索

redis 127.0.0.1:6379> hget "buyers" "EUCRDSTD"
(nil)

但是如果我将代码更改为 hmsetPr "terms", srCodeMap 我会得到一个结果

redis 127.0.0.1:6379> hget "terms" "EUCRDSTD"
"{\"srCode\":\"EUCRDSTD\",\"accountCode\":\"\",\"priceList\":\"EUSD\",\"discount\":null,\"termDays\":30}"

我错过了什么?

非常感谢任何建议

最佳答案

好的,我的代码应该是:

buyers = (req, res, next) ->
buyersMap = _(req.body).map((r) ->
if r?.srCode then [r.srCode, JSON.stringify(r)]
[r.accountCode, JSON.stringify(r)]
).zipObject().value()
hmsetPr("buyers", buyersMap).then((result) ->
res.status(200).send "Ok"
)["catch"] next

关于node.js - 编写查询以从多个值添加键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com