【问题标题】:mongoDB test the return valuemongoDB测试返回值
【发布时间】:2015-04-04 11:08:40
【问题描述】:

我在java应用程序中使用mongoDB 3.0.1,我想知道如何测试DBCollection.insert(BasicDBObject)的返回值,

例如,如果插入完成,则显示message1,否则显示message2

我看到 mongoDB 使用 WriteResult 作为返回值,这就是我打印 WriteResult 时得到的结果

WriteResult insert = dbCollection.insert(basicDBObject);
showMessageDialog(null,insert);

WriteResult{,n=0,updateOfExisting=false, upsertedld=null}

【问题讨论】:

    标签: java mongodb mongo-java


    【解决方案1】:

    如果你想处理失败或确认插入,那么,

    参考http://api.mongodb.org/java/current/com/mongodb/WriteConcern.html

    您可以像这样使用它:

    dbCollection.insert(dbObj, WriteConcern.SAFE);
    

    如果您使用WriteConcern.SAFE,您的操作将等待来自主服务器的确认,因此如果没有引发异常,那么您就可以了。

    您也可以使用WriteResult 进行检查,如果writeResult.getError() 给出null,则插入完成。

    【讨论】:

      【解决方案2】:

      WriteResult 有方法 getN: https://api.mongodb.org/java/current/。如果返回大于 0,则插入完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-04
        • 1970-01-01
        • 2019-12-11
        • 1970-01-01
        相关资源
        最近更新 更多