在MongoDB数据库中,我有这个集合:
"cities" {
"name": "London",
"suburbs": [
{ "_id: ObjectId('...')", "city_id": 0, "name": "Chelsea", "population": "41k" },
{ "_id: ObjectId('...')", "city_id": 1, "name": "Fulham", "population": "87k" },
{ "_id: ObjectId('...')", "city_id": 2, "name": "Kensington", "population": "64k" }
]
}
字符串
我想根据JavaScript对象数组向此集合添加值。
目标是这样的:
let cities = [
{ "team": "Chelsea FC", "division": "premier league", "id": 0 },
{ "team": "Fulham FC", "division": "premier league", "id": 1 },
{ "team": "Kensington FC", "division": "CCFL", "id": 2 }
]
型
现在,我用JavaScript中的for循环解决了这个问题,就像这样:
for(let o = 0; o < cities.length; o++) {
db.cities.updateOne(
{ "name": "London", "suburbs.city_id": cities[o].id },
{
"suburbs.$.team": cities[o].team,
"suburbs.$.division": cities[o].division
}
)
}
型
有没有一种方法可以在一个查询中完成所有事情?
如何在MongoDB查询中调用外部变量?
任何帮助都欢迎。
多谢了
1条答案
按热度按时间vpfxa7rd1#
我一直在想办法。
你可以在这里查看:https://mongoplayground.net/p/DZZy1XXtVv _
字符串