从动物数据库获取对象时增加数字?
Increment number while getting object from fauna db?
我目前正在从我的动物群数据库集合中获取一个对象,其索引如下:
Get(
Match(
Index("byURL"),
"rv49z1"
)
)
我还希望能够在每次获取文档时增加一个数字变量 (clicks
),最好是在一个命令中。
非常感谢任何帮助。谢谢。
像这样应该可以解决问题:
Let(
{ o: Get(...) },
Update(
Select("ref", Var("o")),
{
data: {
clicks: Add(1, Select(["data", "clicks"], Var("o")))
}
}
)
)
您可能希望在更新前返回文档:
Let(
{
doc:Get(Match('byURL','rv49z1')),
ref:Select(['ref'],Var('doc')),
upd: Update(Var('ref'),{data:{clicks:Add(1,Select(['data','clicks'],Var('doc')))}})},
{
doc:Var('doc'),
upd:Var('upd')
}
)
但这样的操作是read/delete/write存储引擎级别的操作。
如果您的文档很大并且您经常这样做,我建议您将柜台移到其他地方。
路易吉
我目前正在从我的动物群数据库集合中获取一个对象,其索引如下:
Get(
Match(
Index("byURL"),
"rv49z1"
)
)
我还希望能够在每次获取文档时增加一个数字变量 (clicks
),最好是在一个命令中。
非常感谢任何帮助。谢谢。
像这样应该可以解决问题:
Let(
{ o: Get(...) },
Update(
Select("ref", Var("o")),
{
data: {
clicks: Add(1, Select(["data", "clicks"], Var("o")))
}
}
)
)
您可能希望在更新前返回文档:
Let(
{
doc:Get(Match('byURL','rv49z1')),
ref:Select(['ref'],Var('doc')),
upd: Update(Var('ref'),{data:{clicks:Add(1,Select(['data','clicks'],Var('doc')))}})},
{
doc:Var('doc'),
upd:Var('upd')
}
)
但这样的操作是read/delete/write存储引擎级别的操作。 如果您的文档很大并且您经常这样做,我建议您将柜台移到其他地方。
路易吉