从动物数据库获取对象时增加数字?

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存储引擎级别的操作。 如果您的文档很大并且您经常这样做,我建议您将柜台移到其他地方。

路易吉