私はJavaドライバでのMongoDBを使用して、各エントリについて、次の形式でコレクションの質問」を持っている:私は何をしたいかMongoDBとJava:私のアップデートで何が問題になっていますか?
{
"question" : "How are you?",
"category" : "personal",
"isTrain" : true,
"processed" : true
}
は、「処理」と「isTrainの両方を持つすべてのエントリを取ることです"trueに等しいので、" processed "値をfalseに設定します。私はこのために使用しようとしていているコードは次のとおりです。
public void markUnprocessed(boolean isTrain) {
BasicDBObject queryObj = new BasicDBObject();
queryObj.put("processed", true);
queryObj.put("isTrain", isTrain);
BasicDBObject updateObj = new BasicDBObject();
updateObj.put("processed", false);
collection.updateMulti(queryObj, updateObj);
}
が私のコードからこの関数を呼び出す効果がないようだ、と私はなぜわかりません。この問題に関する助けをいただければ幸いです。
おかげで、あなたは部分使用して$の集合ではなく、完全な更新を実行する必要があり
クリス隠密
isTrainをtrueに設定して呼び出していますか? – Thilo
はい、正しいです。 –
私は実際にisTrain = falseを他の場所でも呼び出すので、それらのエントリを未処理としてマークすることもできますが、どちらもうまくいかないようです。 –