Couchbase 在n1ql中创建对象
我有一些嵌套查询,返回一个对象数组,每个对象有5个属性:id、value1、value2、attr1、attr2 在数组中,对于一个特定id,可能有多个文档(obj) 这意味着我有多个id,每个id都会乘以attr1和attr2(每个attr1和attr2的组合都是我当前拥有的数组中的一个对象) 我想创建一个如下所示的对象:Couchbase 在n1ql中创建对象,couchbase,n1ql,Couchbase,N1ql,我有一些嵌套查询,返回一个对象数组,每个对象有5个属性:id、value1、value2、attr1、attr2 在数组中,对于一个特定id,可能有多个文档(obj) 这意味着我有多个id,每个id都会乘以attr1和attr2(每个attr1和attr2的组合都是我当前拥有的数组中的一个对象) 我想创建一个如下所示的对象: id: { attr1: { attr2: {value1, value2}
id: {
attr1: {
attr2: {value1, value2}
}
}
}
有办法吗?
尝试搜索各种对象/数组函数,但找不到任何对我有帮助的内容。这相当简单,您只需使用数组即可。下面是一个更完整的示例:
INSERT INTO `test` ( KEY, VALUE ) VALUES ( "1", {
"type": "users",
"name": "First User",
"username": "user1",
"address": {
"streetName": "Wayside Lane",
"houseNumber": 3104,
"zipcode": 94538,
"city": "Fremont",
"state": "CA",
"country": "US",
"entrances": [{"name" : "main"}] },
"preferences": [
{"name": "lang", "value": "en"},
{"name": "notification", "value":"emailOnly"},
{"name":"timezone","value": "GMT+2"}],
"permissions": {
"groups":["MARKETING"],
"roles": ["ADMIN", "PREMIUM_USER"]}
});
请注意,尽管建议最大深度为2或5个实体,但您可以拥有任意数量的嵌套实体。问题是我不知道键或值,它们是从查询返回的,并且我从查询中获得的数组中有多个未排序的对象。我怎样才能把它推到一个物体上?循环和条件以检查它是否存在?我也不想将其写入数据库,只是作为查询的结果获取它,我如何才能做到这一点?谢谢。这些键是动态的吗?是的,如果你再看看我的例子,那么attr1和attr2是动态的。