На основании doc я понимаю, что checkAndPut проверит, соответствует ли предоставленная строка / семейство / значение ожидаемому значению, и если да, добавит предоставленный пут.
Так что в вашем случае, я думаю, API работает как положено. Если вы намереваетесь добавить только, если запись не существует, то вы можете использовать метод существует, чтобы узнать, существует ли запись уже. Если нет, вы можете вставить свою запись.
Надеюсь, это поможет!