当我们在 Azure 移动服务数据中创建新表时,它会创建一个 [__deleted] 列以及 [__createdAt] 等其他列。这很好,以防万一我必须软删除一条记录,我设置 _deleted = true,而不是永久删除它。
我的问题是,当我们从客户端或使用 table.read 或 mssql.query 在服务器脚本中查询 MobileServices 表时,我是否需要在每个读取/查询中显式指定 __deleted=false 或者是否有任何应用程序级别配置/设置在 MobileServices 中可用,我们可以对其进行设置,以便默认情况下不会返回 __deleted=true 的记录。
最佳答案
默认情况下,通过标准路径(通过客户端或服务器 table.read 形成)的查询应过滤已删除的记录。 (本质上将为您添加一个 __deleted = false 子句)
要从客户端获取已删除的记录,您可以发送 __includeDeleted 查询字符串参数,或者在服务器上您可以使用 table.read({includeDeleted: true, ...) 这将禁止添加默认子句。
关于Azure 移动服务,我应该在每个查询/读取中使用 _deleted=false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26830456/