通过 FaunaDB 查询更新值

Updating a value via a FaunaDB query

我有一个ReactJSNextJSweb-app。以下代码向 terminal 输出正确的值,但它根本无法更新 database。因此,我认为 faunaDB Update 函数指定不正确。所有 4 console.log 调用都输出正确的值。

const faunadb = require("faunadb");

// your secret hash
const secret = process.env.FAUNADB_SECRET_KEY;
const q = faunadb.query;
const client = new faunadb.Client({ secret });

console.log("CALLLED API")

module.exports = async (req, res) => {
  const formData = req.body;
  console.log("API CALL");
  try {
    const dbs = await client.query(
      console.log("API UPDATE"),
      console.log(formData.likes[0].data.like + 1),

      q.Update(
        q.Ref(q.Collection('Likes'), '__likes_reference__'),
        {
          data: {
            like: formData.likes[0].data.like + 1,
          },
        }
      )
    );
    // ok
    res.status(200).json(dbs.data);
  } catch (e) {
    // something went wrong
    res.status(500).json({ error: e.message });
  }
};

如何增加数据库中 likes 的值?

这是你的参考 ID 'likes_reference' 你的一些随机生成的数字。如果存在该数字,则使用它从集合中获取文档的引用,您可以将输出添加到问题中以获得更多理解

  like: (formData.likes[0].data.like + 1),
          

您可以用方括号括起点赞数,然后也试试

我使用以下代码将 likes 的值增加 1

q.Update(
            q.Ref(q.Collection('Likes'), '__likes_reference__'),
                {
                    data: {
                        like: q.Add(
                            q.Select(
                                ['data', 'like'],
                                q.Get(
                                    q.Ref(
                                        q.Collection('Likes'),
                                        '__likes_reference__'
                                    )
                                )
                            ),
                            1
                        )
                    }
                },
            )