从 RavenDB Studio 中的集合中删除字段
Remove field from collection in RavenDB Studio
我正在尝试使用 RavenDB Studio 删除 属性(将其添加到我寻求帮助的文档中,请参阅 )(我不小心将它们添加到了错误的数据库集合中。 ..).
再一次,我被语法困住了。另外 - 我不敢相信直到现在还没有人打算这样做 - 至少密集的谷歌搜索无法产生任何有用的东西。至少可以说,官方文档在这个主题上也很简洁。
旁白:为什么 RavenDB(可能还有其他 NoSQL 数据库)中的 DDL 如此麻烦?
我尝试了各种版本
from things as t
update {
delete t.field
}
none 其中有效,其中一些甚至无法编译。
通过修补 - 可以通过 Client 代码以这种方式删除文档字段:
单个文档:
session.Advanced.Defer(new PatchCommandData(
id: "yourDocumentID",
changeVector: null,
patch: new PatchRequest
{
Script = @"delete this.fieldToDelete"
},
patchIfMissing: null));
session.SaveChanges();
参见:Patching - Removing Property
多个文档:
var operation = store
.Operations
.Send(new PatchByQueryOperation("from things update { delete this.field; }"));
operation.WaitForCompletion();
示例取自 here
对于 RQL 只需使用:
from things
update {
delete this.field;
}
我正在尝试使用 RavenDB Studio 删除 属性(将其添加到我寻求帮助的文档中,请参阅
再一次,我被语法困住了。另外 - 我不敢相信直到现在还没有人打算这样做 - 至少密集的谷歌搜索无法产生任何有用的东西。至少可以说,官方文档在这个主题上也很简洁。 旁白:为什么 RavenDB(可能还有其他 NoSQL 数据库)中的 DDL 如此麻烦?
我尝试了各种版本
from things as t
update {
delete t.field
}
none 其中有效,其中一些甚至无法编译。
通过修补 - 可以通过 Client 代码以这种方式删除文档字段:
单个文档:
session.Advanced.Defer(new PatchCommandData(
id: "yourDocumentID",
changeVector: null,
patch: new PatchRequest
{
Script = @"delete this.fieldToDelete"
},
patchIfMissing: null));
session.SaveChanges();
参见:Patching - Removing Property
多个文档:
var operation = store
.Operations
.Send(new PatchByQueryOperation("from things update { delete this.field; }"));
operation.WaitForCompletion();
示例取自 here
对于 RQL 只需使用:
from things
update {
delete this.field;
}