gpt4 book ai didi

mongodb - 我需要将数组元素插入 mongoDb 文档中的内部元素

转载 作者:可可西里 更新时间:2023-11-01 09:38:08 25 4
gpt4 key购买 nike

我的意图是将数组推送到嵌套在内部深处的索引“jnl_articles”中。我如何使用原始 mongodb 查询来实现它。我正在使用 Jessengers mongoDB 和 laravel 框架。

这是文档:

{
"_id" : ObjectId("5ca70c3c5586e920ba79df59"),
"jnl_volumes" : [
{
"volume_name" : 6,
"jnl_issues" : [
{
"issue_name" : "1",
"created_date" : "2019-04-10",
"jnl_articles" : [],
"issue_status" : "1"
},
]
}
]

下面是我需要插入的数组项:

[
{
"article_name": "art1",
"created_date": "2019-04-10",
"article_order": 1
},
{
"article_name": "art2",
"created_date": "2019-04-10",
"article_order": 2
}

]

下面给出了我需要获得的预期结果。

  {
"_id" : ObjectId("5ca70c3c5586e920ba79df59"),
"jnl_volumes" : [
{
"volume_name" : 6,
"jnl_issues" : [
{
"issue_name" : "1",
"created_date" : "2019-04-10",
"jnl_articles" : [
{
"article_name" : "art1",
"created_date" : "2019-04-10",
"article_order" : 1
},
{
"article_name" : "art2",
"created_date" : "2019-04-10",
"article_order" : 2
}
],
"issue_status" : "1"
},
]
}
]

最佳答案

假设你想把文章推送到第一卷的第一期,它看起来像:

{ $push: { "jnl_volumes.0.jnl_issues.0.jnl_articles": { $each: [] } } }
// use first volume ----^ ^ ^ ^
// use first issue ------------------/ | |
// use $each to append an array of elements ------------/ |
// your array of articles -------------------------------------/

$push 的文档和 $each .

关于mongodb - 我需要将数组元素插入 mongoDb 文档中的内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55624724/

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