gpt4 book ai didi

MongoDB 在聚合期间替换值

转载 作者:可可西里 更新时间:2023-11-01 10:02:38 24 4
gpt4 key购买 nike

假设这个文档:

{
_id : Object(“12918”),
username : “username”,
password : “password”,
occupation: {
name : “Football”,
code : 254,
}
},
{
_id : Object(“12919”),
username : “username2”,
password : “password2”,
occupation: {
name : “Basketball”,
code : 255,
}
}

我想要一个返回的查询:

{
_id : Object(“12918”),
occupation : {
name : “*”,
code : 254
}
},
{
_id : Object(“12919”),
occupation : {
name : “*”,
code : 255
}
}

因此,查询只返回字段 _idoccupation。并且字段occupation.name必须在所有记录中替换为*。

我试过这个查询:

aggregate([
{
"$project" :
{
"_id" : 1,
“occupation" : 1,
“occupation.name" : { $literal:“*” }
}
}
])

返回以下异常:

{ "ok" : 0, "errmsg" : "can't add an expression for field occupation because there is already an expression for that field or one of its sub-fields.", "code" : 16400 }

有什么办法可以实现吗?

最佳答案

您可以像这样指定 occupation 的嵌套文档投影:

db.test.aggregate([{
"$project": {
"_id": 1,
"occupation": {
code: 1,
name: { $literal: "*" }
}
}
}])

关于MongoDB 在聚合期间替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42399001/

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