收藏
回答

云开发添加数据成功后,无法立即查询?

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wx603461edbbcdd4f8 supsub-0gjwyk825e6313c7 3.6.1

用户提交注册信息后,使用 watch 方法成功监听到数据已提交。然而,当我在数据提交后立即进行查询时,却无法获取到刚刚提交的数据。

补充:如果新建数据后,刷新小程序,调用同一个查询函数,会获取到数据。

app.router("SignUp", async (ctx, next) => {
      const { nickName, documentType, nationality } = event.value;
      const collections = [
         {
            name: "Users",
            data: {
               nickName,
               nationality,
               open_id: wxContext.OPENID,
               status: status.PENDING_REDRIVE,
            },
         },
         {
            name: "CertData",
            data: {
               documentType,
            },
         },
      ];

      try {
         const result = await db.runTransaction(async (transaction) => {
            const uploadPromises = collections.map(async (collection) => {
               const params = {
                  unionid_id: wxContext.UNIONID,
                  createAt,
                  ...collection.data,
               };

               const { _id } = await transaction.collection(collection.name).add({ data: params });
               return { _id, type: collection.name };
            });

            return Promise.all(uploadPromises);
         });

         ctx.body = { data: result };
      } catch (error) {
         console.error("Transaction error: ", error);
         ctx.body = { error: error.message };
      }
   });


最后一次编辑于  10-24
回答关注问题邀请回答
收藏

1 个回答

  • Starkwang
    Starkwang
    10-24

    可以提供一下最小可复现代码,问题里只有云函数的事务代码

    10-24
    有用
    回复 1
    • Qiu (吉²)
      Qiu (吉²)
      10-24
      解决了,是我自己的代码逻辑问题,谢谢啦
      10-24
      回复
登录 后发表内容