【问题标题】:How to acknowledge whether a document is deleted in OrientDB?在 OrientDB 中如何确认文档是否被删除?
【发布时间】:2016-01-31 13:18:11
【问题描述】:

我想知道是否有办法确认删除 OrientDB 数据库的文档(对象)。我正在使用以下查询

DELETE FROM User WHERE @rid=#1:1

删除记录,我似乎无法找到确认对象实际删除位置的方法。 当我检查来自

的响应时

statement.executeQuery("DELETE FROM User WHERE @rid=#1:1")

对于这两种情况(对象的实际删除和数据库中不存在的对象)它返回 null。

【问题讨论】:

    标签: java orientdb


    【解决方案1】:

    默认情况下,DELETE SQL 命令返回已删除记录的数量。试试这个:

    Integer deleted = db.command(new OCommandSQL("DELETE FROM User WHERE @rid=#1:1")).execute();
    

    顺便说一句,这样更快:

    Integer deleted = db.command(new OCommandSQL("DELETE FROM #1:1")).execute();
    

    【讨论】:

      【解决方案2】:

      你可以试试这个代码

      try{
          ORecordId id = new ORecordId(9, 1);
          boolean deleted=new OCommandExecutorSQLDelete().result(id);
          System.out.println("Record Deleted " + deleted);
      }
      catch(NullPointerException e){
          System.out.println("Record not present in the db");
      }
      

      【讨论】:

        猜你喜欢
        • 2021-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-10
        • 2015-02-10
        相关资源
        最近更新 更多