gpt4 book ai didi

mongodb - CosmosDB - 无效的 BSON 字段名称 'places.$id'

转载 作者:可可西里 更新时间:2023-11-01 10:48:46 25 4
gpt4 key购买 nike

我在 MongoDB 文档模型上使用 Azure CosmoDB,并且在使用 DBRefs $id 更新某些文档时遇到奇怪的行为

看看这个脚本示例:

original_id = ObjectId()

db.places.insert({
"_id": original_id,
"name": "Broadway Center",
"url": "bc.example.net"
})

db.people.insert({
"name": "Erin",
"places":{"$ref":"places","$id": original_id},
"url": "bc.example.net/Erin"
})

db.people.find({"places.$id": original_id}) //works like charm
db.people.update({"places.$id": original_id}, {$set:{"NEW_FIELD": false}}, {multi:true}) //doesn't works =/

然后返回:

Failed to execute script.

Error: Error: error: {
"_t" : "OKMongoResponse",
"ok" : 0,
"code" : 2,
"errmsg" : "Invalid BSON field name 'places.$id'",
"$err" : "Invalid BSON field name 'places.$id'"
} :
DBCollection.prototype.update@src/mongo/shell/collection.js:589:23
@(shell):1:1

如果有人知道发生了什么事,我真的很感激。

最佳答案

你应该替换

"places":{"$ref":"places","$id": original_id},

"places_id": original_id,

关于mongodb - CosmosDB - 无效的 BSON 字段名称 'places.$id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com