mongodb中的嵌套数组更新

mongodb中的嵌套数组更新,mongodb,Mongodb,我有一个收藏,其结构是:- Subscribed.insert({ “名称”:“Manager1”, “emailId”:“arora。priya4172@gmail.com", “类别”:“金融”, “名称”:“头”, “完成”:错误, “类别订户”:[ { “_id”:“u4._id”, “用户名”:“u4.profile.name”, “发布不显示”:[] }, { “_id”:“u4._id”, “用户名”:“u4.profile.name”, “发布不显示”:[] }, { “_id”

我有一个收藏,其结构是:-

Subscribed.insert({
“名称”:“Manager1”,
“emailId”:“arora。priya4172@gmail.com",
“类别”:“金融”,
“名称”:“头”,
“完成”:错误,
“类别订户”:[
{
“_id”:“u4._id”,
“用户名”:“u4.profile.name”,
“发布不显示”:[]
},
{
“_id”:“u4._id”,
“用户名”:“u4.profile.name”,
“发布不显示”:[]
},
{
“_id”:“u4._id”,
“用户名”:“u4.profile.name”,
“发布不显示”:[]
}
]
});
我想在issuesNotToDisplay字段中插入一个字段。因此,为此,我使用以下命令,但出现错误:

浏览器控制台中的“语法错误:缺少:在属性id之后”和“语法错误缺少标记”

在mongodb控制台中

有谁能告诉我,在mongodb中更新双嵌套数组中的字段时,应该使用什么适当的命令。我试了很多,也读过这本书,但还是一窍不通。为什么这个命令会出错

命令是:-

db.subscribed.update(
{
“类别”:“金融”,
“类别订户”:“priya”
},
{ 
“$addToSet”:{
“类别订阅用户.$.IssueNotDisplay”:“25PEGZOMAMLSTDW7”
}
}
);
您可能需要这个

db.subscribed.update(
{
    "category": "Finance",
    "categorySubscribedUsers.username" : "u4.profile.name"
},
{ 
    "$addToSet": {
        "categorySubscribedUsers.$.issueNotToDisplay": "25PEgZoMamLSTDdw7"
    }
}
)

这是否有帮助:您实际上正在使用meteor,不是吗?另外值得注意的是,位置
$
运算符完全无效,除非您尝试匹配数组中的某些内容。您的示例可能不会产生匹配,除非您实际上是指“categorySubscribedUsers.username”作为匹配字段。现在我使用以下命令,但得到相同的错误。。。db.subscribed.update({category:'Finance',categorySubscribedUsers.username:'priya'},{$addToSet:{categorySubscribedUsers.issueNotDisplay:'SL9NchSjbsjLF2KBb'}});您好,谢谢achuth…此命令运行良好。但我需要问的是,如果不是mongo控制台。我运行了以下查询(尽管有细微的区别),错误是“[16:15:14.522]错误:不允许。不受信任的代码只能按ID[403]更新文档”。为什么会这样?….命令是:-Subscribed.update({“\u id”:“92vjyYGRoP4mZxTck”,“categorySubscribedUsers.username”:“abhi”},{“$addToSet”:{“categorySubscribedUsers.$.issuenotdisplay”:“7mto9WM4AmZxWc7YR”})。即使在使用id之后,也会出现错误。……提前感谢检查此项,请让我知道需要做哪些更改。……订阅。更新({“_id”:Subscribed.findOne({“category”:“Finance”,“categoryssubscribedusers.username”:“abhi”)。{u id},{“$addToSet”:{“categoryssubscribedusers.0.issuenotdisplay”:“25pegzomstddw7”}(工作)但是…Subscribed.update({“\u id”:Subscribed.findOne({“category”:“Finance”,“categorySubscribedUsers.username”:“abhi”})。{u id},{“$addToSet”:{“categorySubscribedUsers.j.issuenotdisplay”:“25pegzommamlstddw7”})不起作用…:(.但对于代码,我需要插入数组索引位置。“categorySubscribedUsers.j.issuenotdisplay”那边的j是什么?我在一个循环中使用这个查询,所以这里的j表示我可以更新数据库的数组索引的循环索引。如果你不明白,我可以和你共享这个函数