普通に追加すると、既に主キーが存在している場合はエラーでクラッシュします。
以下のように、追加する前に既に存在するかチェックするようにしてみましたが、何か違うような気がします。

// id(主キー)が5のDogが存在しなければ追加し、存在すれば何もしない
let dogs = realm.objects(Dog.self).filter("id == 5")
if dogs.count == 0 {
    realm.add(newDog)
}

初歩的な質問ですがよろしくお願いいたします。