2017-02-14 15 views
1

私のmongoインスタンスをバージョン2.4から3.4にudpして、すべての更新クエリがインデックスとして$を渡している場所で動作しなくなりました。 静的な0または1をクエリに渡すと、正常に動作しますが、$の初期の構文はまったく機能しません。私が得ること

db.collection('users').update({"email": "[email protected]","companies":{"$elemMatch":{"id":"1487006991927"}}}, 
    { 
     $set: { 
      "companies.$.details" : {"company_name":"hey updated"} 
     } 
    }); 

応答::私はではなく、もうモンゴvesrion 2.4であった

{ result: { _t: 'UpdateResponse', ok: 1, n: 1, nModified: 1 }, 

これは完全に働いた

以下は私のクエリです。私は常に静的な0/1またはインデックスを渡すことはできません、それを行う正しい方法は何ですか?

メモ:レスポンスによると、1レコードは変更されましたが、実際には何も変更されていません。事前に

 
{ 
    "_id": "589aa3509a248a3d7a01b784", 
    "businessAndPersonal": "true", 
    "companies": [ 
     { 
      "details": { 
       "company_name": "afsfhey updated" 
      }, 
      "locations": [], 
      "websites": [], 
      "id": "1487006991927" 
     }, 
     { 
      "details": { 
       "company_name": "hey updated" 
      }, 
      "locations": [], 
      "websites": [], 
      "id": "1487007435955" 
     } 
    ] 
} 

おかげ

+0

あなたは存在しませんでしたか?変更?私はモンゴがあなたのようにそれにうそをつくとは思わない。 –

+0

@SergioTulentsevはい。何の変化もなかった。私はほとんど10回試しました。上で述べたように、$の代わりに0/1を言えばうまく動作します。それはちょうど$ –

+0

で動作しませんそれを試して、私のために働く。 http://pastebin.com/3aJmujKt –

答えて

1

私は限り、彼らは

HereのMongoDBの位置演算子をサポートしていませんCosmosDBのMongoDBのサービスを使用しています自分の質問に対して回答は議論があるリンクですon '$'による位置配列の更新クエリのサポート

関連する問題