如何解决阵列上的 Mongo DB 聚合
我正在尝试将元素添加到文档 MongoDB 集合中的数组,聚合(非常规更新)匹配特定名称 但我没有找到正确的语法
例如:
{"name":"TEST1","department":"T1","skills":["JS","HTML"],"expY":5}
{"name":"TEST2","department":"T2","skills":["Java","CSS"],"expY":3}
我想添加到技能数组“CSS”,我尝试排序、匹配、组、项目、($add、$push 等)并且这些语法都不起作用
db.collection.aggregate([
{ $match : { name : "TEST1" } },HERE I DONT KNOW WHAT IS THE RIGHT SYNTAX TO ADD ELEMENT TO skills array
])
解决方法
如果我没有正确理解您的问题,您希望匹配名称为“TEST1”的所有文档,然后将“CSS”添加到技能数组中。如果这是正确的,这是一种方法:
db.collection.aggregate([
{
$match: {
name: "TEST1"
}
},{
$project: {
name: "$name",department: "$department",expY: "$expY",skills: {
$concatArrays: [
"$skills",[
"CSS"
]
]
}
}
}
])
以下是如何更新您的文档以将“CSS”添加到数组:
db.your_collection.update({ name : "TEST1" },{ $push: { skills: 'CSS' } })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。