2017-06-16 47 views
2

我使用Azure上
在這種cosmosdb我使用MongoDB的API
我有一個「請求」集裏面有一個「索賠」陣列cosmosdb蒙戈API不工作的一些命令

如果我使用這個命令:

db.getCollection('requests').find({"claims.id": 1002}) 

工作不在cosmosdb mongo api中進行,但是爲我託管的本地mongo服務實例工作。

我的請求對象是如下

{ 
    "_id" : NumberLong(1001), 
    "claims" : [ { 
      "type" : "broadband", 
      "id" : NumberLong(1002), 
      "createdOn" : NumberLong(1462799667905) 
       } ] 
} 
+0

你的代碼似乎很糟糕(如格式),請看看你如何能增強它的外觀。 – Hima

回答

2

並非所有的MongoDB的查詢語法/功能來實現。這似乎是這樣的情況。

然而,這種輕微的解決方法應該爲你工作 - 我只是測試它在我自己的CosmosDB(MongoDB的API)集合:

db.getCollection('request').find({claims: { $elemMatch: { id:1002 }}}).pretty() 
{ 
    "_id" : 1001, 
    "claims" : [ 
    { 
     "type" : "broadband", 
     "id" : 1002, 
     "createdOn" : NumberLong("1462799667905") 
    } 
    ] 
} 

請注意,您也可以撥打db.request.find()無需調用getCollection()

+0

大衛,你可以請顯示變通辦法如何更新數組內的對象? – GeekOnGadgets

+0

會很高興知道哪些是如果任何實施:) – Hafiz