我想更新mongoDB中使用updateOne的记录,un更新记录是在数组中,并且所有字段正在更新,除了一个字段是国家,我试图用它来更新它MongoChef(用于Linux的MongoDB的GUI),但它不起作用,也是如果我使用GUI中的Edit更新一个Document,那么该记录已准备好在之后更新。mongoDB updateOne没有更新记录
我曾与下面的查询试图MongoChef
db.institutions.updateOne({
"campus": { "$elemMatch": { "_id": ObjectId("578500ef87e4c326183e520e")} },
"_id": ObjectId("57f25706762c06cb7d9422fc")
},
{
"$set" : { "campus.$.country" : "SS1"
}
});
唯一的国家领域并没有更新。如果我更新它工作正常任何其他领域。
文档结构下
{
"_id" : ObjectId("57f26824762c06cb7d982e37"),
"campus" : [
{
"_id" : ObjectId("578500ee87e4c326183e5201"),
"country" : "GB",
"coreId" : NumberInt(1),
"city" : "Norwich",
}
]
}
由于上市提前任何帮助appreciatiable
当您查询db.institutions.findOne({“_id”:ObjectId(“57f25706762c06cb7d9422fc”)})'时,您能向我们展示您获得的文档吗? – chridam
@chridam 我发现查询 db.institutions.find({ “campus.country”: “SS1”, “_id”:物件( “57f26824762c06cb7d982e37”) },{ “校园”:真 }); { “_id”:物件( “57f26824762c06cb7d982e37”), “校园”: { “_id”:物件( “578500ee87e4c326183e5201”), “国”: “国标”, “COREID”: NumberInt(14677), “城市”:“诺维奇” } ] } – Shahbaz
但是,这是从您的更新查询完全不同的你在哪里查询与'{“_id”的文件:物件(“57f25706762c06cb7d9422fc”) }' – chridam