【发布时间】:2018-03-07 17:24:24
【问题描述】:
大家好,我在使用 Meteor / Mongo 更新集合中的键值时遇到问题
data: {
'id': id,
'fb_id': fbId,
'name': fbName,
'access_token': fbAccessToken,
'symbol': fbSymbol,
'config': {
'get_started': {
'payload': getStarted
},
'persistent_menu': [
{
'locale': 'default',
'call_to_actions': [
{
'type': 'postback',
'title': persistentMenu1,
'payload': 'menu'
},
{
'type': 'postback',
'title': persistentMenu2,
'payload': 'knowledge_base'
},
{
'type': 'nested',
'title': persistentMenu3,
'call_to_actions': [
{
'type': 'postback',
'title': nestedPersistentMenu1,
'payload': 'subscription'
},
{
'type': 'postback',
'title': nestedPersistentMenu2,
'payload': 'tth'
}
]
}
],
'composer_input_disabled': false
},
{
'locale': 'pl_PL',
'call_to_actions': [
{
'type': 'postback',
'title': persistentMenu1,
'payload': 'menu'
},
{
'type': 'postback',
'title': persistentMenu2,
'payload': 'knowledge_base'
},
{
'type': 'nested',
'title': persistentMenu3,
'call_to_actions': [
{
'type': 'postback',
'title': 'Subskrypcja',
'payload': 'subscription'
},
{
'type': 'postback',
'title': 'Konsultant',
'payload': 'tth'
}
]
}
],
'composer_input_disabled': false
}
],
'greeting': [
{
'locale': 'default',
'text': somethingNew
},
{
'locale': 'pl_PL',
'text': greetingsText
}
]
},
'created_at': '2017-06-05T06:00:37.759455Z',
'updated_at': updatedAt
}
})
我需要获取“greeting”数组中的第二个元素并更改“text”的值,即“greetingsText”
我尝试通过在浏览器中使用控制台输入此代码来执行此操作
Collection.update({_id: "some_id"}, {$set: {fanpageInfo: {config: {"greeting.2": {text: "tata"}}}}}) but it doesnt work unfortunately
有错误提示“更新失败:
MongoError: The dotted field 'greeting.2' in 'fanpageInfo.config.greeting.2' is not valid for storage."
老实说,我不确定我是否正确定位它 - 我检查了文档并询问了谷歌,但只有简单的教程。
提前感谢您的帮助
【问题讨论】:
-
fanpageInfo字段在哪里? -
实际上有fanpageInfo而不是data
-
检查我的答案。它适用于我的查询,您可以将其复制粘贴到 Meteor 查询中,它工作正常。
标签: javascript mongodb meteor