yes !

I'm supprised too, but, if you see CommandResult : 
```java
    public MongoException getException() {
        if ( !ok() ) {   // check for command failure
            return new CommandFailureException( this );
        } else if ( hasErr() ) { // check for errors reported by getlasterror command
            if (getCode() == 11000 || getCode() == 11001 || getCode() == 12582) {
                return new MongoException.DuplicateKey(this);
            }
            else {
                return new WriteConcernException(this);
            }
        }

        return null;
    }
```

I think, but not sure, than if we got "ok=false", it's because the command is in failure.