【问题标题】:Truncating in .NET driver?在 .NET 驱动程序中截断?
【发布时间】:2018-02-02 23:58:41
【问题描述】:

我是 NoSQL 的新手,在 MongoDB 的文档中找不到关于截断的任何内容?

我看到删除了一个集合,但这似乎让我担心,因为它让我认为我会永久“删除”该集合。

有没有办法截断一个集合,其效果与在 MySQL 中的效果相同?我正在尝试在 .NET 库中而不是在 MongoDB Shell 中执行此操作...

【问题讨论】:

  • Truncate a collection的可能重复
  • 这是怎么复制的?那是完全不同的语言?
  • 你读过链接的骗局吗? MongoDB 中没有等效的截断操作,因此语言无关紧要。
  • @JohnnyHK .NET 没有任何 drop 功能,我认为您需要查看您的评论..
  • 关键是 truncate 通常意味着您将集合保留在所有已定义索引的位置,但 drop 将完全删除集合及其索引。如果您想删除该集合,最好更新您的问题。

标签: c# .net mongodb


【解决方案1】:

如果您从集合中删除数据,您可以对受影响的集合运行compact 命令。 假设您有一个集合 clients 并且您删除了一半的内容,您可以为该集合创建一个包含该命令的BsonDocument 并执行它:

var result = db.RunCommand<BsonDocument>(new BsonDocument("compact", "clients"));

不过,这确实需要 WiredTiger MongoDB 引擎。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2023-04-10
    • 2018-06-17
    • 2017-02-25
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多