当我将数据保存到表中,然后从表中进行选择时,它变成了不同的顺序,我在 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"}"
最佳答案
如果我没理解错的话,你的 json 元素在插入后混淆了?..
然后看json specs
An object is an unordered set of name/value pairs
如 JSON order mixed up 中所述
You cannot and should not rely on the ordering of elements within a JSON object.
关于json数据存入postgresql顺序不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38297906/