为什么我从 MongoDB 迁移到 PostgreSQL
MongoDB 支持的数据类型多于 MySQL,其中最主要是 Array,Hash 类型。PostgreSQL 原生或通过扩展可以支持 Array 和 Hash,但是配套的操作不够 MongoDB 简便。野拿
例如 MongoDB 对 Array 有一个 $addToSet 方法,只有数组不存在某元素时进谈脊誉行插入:
update( $addToSet: { upvotes_ids: 1 } )
而含段 PostgreSQL 要进行同样操作需要组合一些语句:
SET upvotes_ids = array_append(upvotes_ids ,1) WHERE NOT (upvotes_ids @>array[1])
MongoDB 的语句更简洁,也不排除 PostgreSQL 以后也会添加同样的方法。