更新文档并在 1 个查询中获取其所有字段
Update a document and get all its fields in 1 query
我有一个文档的 ID,我想检索它的所有字段,同时更新其中的一些字段在一个查询中,可选地作为原子操作。
我尝试了以下方法:
myTable.get(id).update(someFields, {returnChanges: true})
... 但它只在文件被修改后才给我文件。我想在更新没有更改任何字段时检索文档事件。
作为 tmp 解决方法,我目前使用两个顺序查询:一个更新,然后一个获取。
我找到了解决方案:
myTable
.get(id)
.update(someFields, {returnChanges: 'always'})
('changes')(0)('new_val')
{returnChanges: 'always'}
告诉数据库总是 return 一对 new_val
/ old_val
即使它们相同。
重要说明:如果未找到文档,使用{returnChanges: 'always'}
将产生不抛出异常的副作用。相反,new_val
和 old_val
都会 return null
。在这种情况下不要依赖异常。
我有一个文档的 ID,我想检索它的所有字段,同时更新其中的一些字段在一个查询中,可选地作为原子操作。
我尝试了以下方法:
myTable.get(id).update(someFields, {returnChanges: true})
... 但它只在文件被修改后才给我文件。我想在更新没有更改任何字段时检索文档事件。
作为 tmp 解决方法,我目前使用两个顺序查询:一个更新,然后一个获取。
我找到了解决方案:
myTable
.get(id)
.update(someFields, {returnChanges: 'always'})
('changes')(0)('new_val')
{returnChanges: 'always'}
告诉数据库总是 return 一对 new_val
/ old_val
即使它们相同。
重要说明:如果未找到文档,使用{returnChanges: 'always'}
将产生不抛出异常的副作用。相反,new_val
和 old_val
都会 return null
。在这种情况下不要依赖异常。