2017-08-29 114 views
0

下面是我的数据指数嵌套数据couchbase

{ 
     "VehicleTrip": { 
      "departureTime": 1483176300000 
     }, 
     "Orders": { 
      "Order": [{ 
       "numberOfShops": 3, 
       "customerTitle": "Mrs", 
       "notes": "" 
       "orderId": "3060_1" 
      }, { 
       "numberOfShops": 3, 
       "customerTitle": "Mrs", 
       "notes": "" 
       "orderId": "3060_2" 
      }] 
     } 
} 

我要为订单ID创建索引。我斗的名字是交货

我试着用

CREATE INDEX isched1 
     ON `Delivery` (DISTINCT ARRAY v.orderId FOR v IN `Orders`.`Order` END); 

但是没有用。 任何人都可以帮助我获得上述数据的索引。

感谢, 维奈

回答

0

示例文档具有在同一水平VehicleTripOrders对象,而你的索引将其视为的VehicleTrip属性。

如果您打算嵌套,你的文件应该是这样的

{ 
    "VehicleTrip": { 
      "departureTime": 1483176300000 
    }, 
    "Orders": { 
      "Order": [ 
      { 
       "numberOfShops": 3, 
       "customerTitle": "Mrs", 
       "notes": "", 
       "orderId": "3060_1" 
      }, { 
       "numberOfShops": 3, 
       "customerTitle": "Mrs", 
       "notes": "", 
       "orderId": "3060_2" 
      }] 
    } 
} 

否则,你就需要更新索引,以匹配什么是你的文档中:

CREATE INDEX isched1 
    ON `Delivery` (DISTINCT ARRAY v.orderId FOR v IN `Orders`.`Order` END); 
+0

我一直在使用创建的索引低于 CREATE INDEX isched1 ON'Delivery'(DISTINCT ARRAY v.orderId FOR v IN'Orders'.'Order' END); 但仍然没有用 –

+0

@VinayJ,检查文档格式良好的JSON。您提供的样本需要一些编辑:在'notes'和']'之后的逗号关闭'Order'数组。 –