1

最新版本的PostgreSQL功能类似于面向文档的数据库(例如MongoDB)。有希望的基准表明 postgres 比 mongo 快 x 倍。有人可以给我建议如何使用 postgres 和MongoDB. 我正在寻找有关的逐步简单示例

1) 如何在 mongodb 中创建包含 JSON/JSONB 对象(如文档)的最简单表

2)如何至少搜索它id,就像我可以做mongodbcollection.find({id: 'objectId'})那样

3)如何创建新对象或至少覆盖现有对象id,就像我可以做的mongodb那样

 collection.update(
     {id: objectId},
     {$set: someSetObject, $unset: someUnsetObject}
     {upsert: true, w: 1}
  )

4)如果对象至少存在,如何删除它id,就像我可以做的mongodb那样collection.remove({id: 'objectId'})

4

1 回答 1

3

这是一个太大的话题,无法在一个答案中涵盖。因此,仅提供了一些示例。有关更多信息,请参阅文档:

创建表:

create table test(
    id serial primary key,
    data jsonb);

按编号搜索:

select * from test where id = 1;

按 json 值搜索:

select * from test where data->>'a' = '1';

插入和更新数据:

insert into test(id, data) values (1, '{"a": 1, "b": 2, "c": 3}');
update test set data = data - 'a' || '{"c": 5}' where id = 1;

按 id 删除数据:

delete from test where id = 1;

按 json 值删除数据:

delete from test where data->>'b' = '2';
于 2016-02-25T11:32:34.580 回答