以下是我的JSON请求数据,我想更新货币和subAmount。我尝试过,但是更新不正确。
这是我的代码:
{
"mid":"5032219",
"description" : "Sample description",
"currency" : "INR",
"amount" : {
"subAmount":"20"
}
}
我尝试使用以下代码, 传递参数的值是-{currency = AUG,amount = {“ subAmount”:“ 20.00”}} public void updateInvoiceModel(InvoiceModel model,Map param){
MongoCollection<Document> collection = database.getCollection("invoice");
BasicDBObject searchQuery = new BasicDBObject("invoiceNumber", model.getInvoiceNumber());
BasicDBObject updateFields = new BasicDBObject();
for (Entry<String, Object> entry : param.entrySet()) {
updateFields.append(entry.getKey(), entry.getValue());
}
BasicDBObject setQuery = new BasicDBObject();
setQuery.append("$set", updateFields);
collection.updateOne(searchQuery, setQuery);
} 请让我知道是否有人可以解决。
答案 0 :(得分:0)
请使用以下内容:
db.collection_name.update(
{ _id: mid },
{ $set:
{
"currency" : "INR", "amount" : { "subAmount":"20" }
}
}
)