我正在将upsert与updateOne()方法一起使用,以进行更新。
db.practice.updateOne(
{“title”:“Night Life”},
{$set: detail},
{upsert: true}
)
我的查询返回以下内容:
{
"acknowledged" : true,
"matchedCount" : 0,
"modifiedCount" : 0,
"upsertedId" : ObjectId("5f8884fed29ded706c3c6737")
}
下面是详细信息变量:
let detail = {
“title” : “Night Life”,
“year” : 2021,
“rated” : “PG-13”,
“released” : 2021,
“runtime” : 60,
“countries” : [
“USA”,
“UK”
],
“genres” : [
“comedy”,
“drama”
],
“director” : “Alpha Ly”,
“actors” : [
“Alpha Ly”,
“Kris Dasha”,
“Hope Grace”
]
}
当我在Compass中检查我的收藏时,看不到带有ObjectId(“ 5f8884fed29ded706c3c6737
但是,当我运行以下命令db.practice.find({"director": "Alpha Ly"}).pretty()
时,
它会返回我在指南针中寻找的条目。
注意:我的收藏集中的文档数量仍然与创建的数量相同。 这里似乎是问题所在。为什么指南针不显示条目?
答案 0 :(得分:0)
似乎我没有使用正确的数据库。
为了执行该命令,我应该使用use
命令以及后跟我的数据库名称来切换到我的数据库。由于我没有这样做,所以更新查询创建了另一个集合并将文档插入那里。因此,我在数据库中找不到它。
谢谢