【发布时间】:2016-11-12 20:48:48
【问题描述】:
当我将数据保存到表中时,然后从表中选择它变成不同的顺序,我也检查了 pgadmin。
为什么??以及如何解决?
CREATE TABLE IF NOT EXISTS "user_role_track"(
"id" SERIAL NOT NULL,
"create_date" timestamp without time zone,
"create_by_user_id" integer,
"action" integer,
"old_data" jsonb,
"new_data" jsonb
);
在 nodejs 应用中创建数据
var newData = {
"id": userRoleId,
"create_date": timestamp,
"user_id": userId,
"role": role
};
...
// save with promise sync function
var dbQueryR = yield Promise.resolve( queryPromise(dbClient, dbQuery, dbParams) );
从表中选择/看穿pgadmin
"{"id": 2, "role": 1, "user_id": 17, "create_date": "2016-07-11 09:09:18"}"
【问题讨论】:
-
由于 DBMS 的优化,无法保证数据存储的顺序。如果您需要特定的订单,您应该使用
ORDER BY来获取结果。 -
如果您关心键的顺序,请使用
json而不是jsonb类型。 -
@Abelisto 谢谢。但我认为 jsonb 非常适合我的需要
标签: json node.js postgresql jsonb