2017-04-07 13 views
-1

更新クエリを使用してファイルを更新しようとしましたが、エラーがスローされています。Mongo DB更新クエリのスローエラー

Query: 
    db.dumpbasiccompany.update(
    db.dumpbasiccompany.aggregate([{ $lookup: { from: "basiccompany", localField: "CompanyName", foreignField: "CompanyName", as: "inventory_docs"}},{ $project : {"_id":1 } } ]), 
    { $set:{ flag: 1 } }) 

    Error: 
    WriteResult({ 
      "nMatched" : 0, 
      "nUpserted" : 0, 
      "nModified" : 0, 
      "writeError" : { 
        "code" : 2, 
        "errmsg" : "cannot compare to undefined" 
      } 
    }) 

私はmongo dbの新しいメンバーです。これはわかりません。親切に私の質問を検証しました。

+1

これは、更新する間違った方法です。そして、あなたが期待する結果が必要なのです。 注:サンプル文書をあなたに与えてください。そしていくつかの説明。 –

+0

こんにちはSathish、私の要件は2つのコレクションに比べて同じレコードが来る場合は、私はフラグの値を更新する必要があります。 – Antony

+0

あなたがコレクション1を見つけてコレクションコレクション2を確認する必要があるようです。次に、あなたの要件が手段、天気予報のコレクション1またはコレクション2に一致しました。 –

答えて

1

あなたは、このようなコードを使用することができます:

db.basiccompany.find().forEach(
    function(doc) { 
     var check = false; 
     data = db.dumpbasiccompany.find({ 
      CompanyName: doc.CompanyName 
     }).forEach(function(mydoc) { 
      if (mydoc != null) { 
       check = true; 
      } 
     }) 
     if (check == true) { 
      db.basiccompany.update({ 
       _id: doc._id 
      }, { 
       $set: { 
        flag: 1 
       } 
      }); 
     } 
    }); 
+0

@Antony。これはあなたの要求にも基づいています。これをチェックする必要があります。 –

+0

うまくいきました、ありがとう...あなたはとても助けになりました。 – Antony