【发布时间】:2016-08-19 14:40:30
【问题描述】:
我有以下名为 User 的 json 条目。有一个 selectedItemList 列表,可让用户对项目负责。
"myproject": {
"_class": "com.demo.model.entity.User",
"active": true,
"createDate": 1470826033000,
"description": "",
"firstname": "Tom",
"selectedItemList": [
"MTR44",
"MTR55",
"MTR66"
],
"type": "user",
"username": "tom"
}
以下 3 项将 itemId 保持为唯一值
"myproject": {
"_class": "com.demo.model.entity.Item",
"deleted": false,
"factor": 0,
"itemId": "MTR66",
"type": "item"
}
"myproject": {
"_class": "com.demo.model.entity.Item",
"deleted": false,
"factor": 0,
"itemId": "MTR55",
"type": "item"
}
"myproject": {
"_class": "com.demo.model.entity.Item",
"deleted": false,
"factor": 0,
"itemId": "MTR44",
"type": "item"
}
有以下命令将项目 ID 保存为列表
"myproject": {
"_class": "com.demo.model.entity.Orders",
"model": "DR-503",
"deleted": false,
"itemIdList": [
"MTR66",
"MTR55"
],
"type": "order"
}
"myproject": {
"_class": "com.demo.model.entity.Orders",
"model": "DR-504",
"deleted": false,
"itemIdList": [
"MTR44"
],
"type": "order"
}
我的问题是:我尝试获取负责用户“tom”下的项目订单列表。 我的方式是:通过加入从订单中获取商品。但我无法将它与用户 tom 的 selectedItemList 和 itemId 加入(因为它不是一个对象,它是一个 json 数组)。
SELECT META(myproject).id as _ID, META(myproject).cas as _CAS, myproject.*
FROM myproject
LEFT JOIN myproject item ON KEYS ARRAY itemId FOR itemId IN myproject.itemIdList
LEFT JOIN ........
所以,我在第二次加入后无法写作,我对此一无所知。
【问题讨论】:
标签: json join couchbase n1ql nosql