有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从Java应用程序更新MongoDB上的字段

在我的数据库中,我有以下类型的文档:

{ 
"_id" : ...,
"person" :{
     "person_id" : 0,
     ...
     },
"emergency_contact" :{
     "phone_number" : 123456789,
     ...
     },
}

我想像我在Mongo一样用以下方式更新一个人的电话号码:

db.Certificates.update(
    { "person_id" : 0 },
    { $set: { 
                    "emergency_contact.phone_number" : "0528 1949992"
            }
     })

我试着用Java做这个调用:

Bson searchQuery = eq("person_id", Integer.parseInt(id));
Bson updateQuery = eq("emergency_contact.phone_number", Long.parseLong(phoneNumber));
collection.updateOne(searchQuery,updateQuery);

但我得到了以下错误:

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Invalid BSON field name emergency_contact.phone_number

我怎样才能解决这个问题


共 (0) 个答案