我正在开发一个显示消息和评论的简单应用程序。我需要通过添加新评论来更新消息。 我创建了一个插入消息和注释的json ..注释是消息的一部分,它是一个数组..
{
"text": "Message Text!!!",
"createdAt": "new Date()",
"comments": [
{
"text": "Comment One",
"createdAt": ""
},
{
"text": "Comment Two",
"createdAt": ""
}
]
}
从客户端我需要添加一个新注释(注释数组中的一个新项),但我在这个库上真的很新,并且不确定如何调用此方法来更新..
NSArray *parameters = @[@{@"_id": self.message.messageId},
@{@"$set":@{@"Comments":@{@"text":@"newComment"}}}];
[self.meteor callMethodName:@"/Messages/update" parameters:parameters responseCallback:nil];
这会在json注释中添加一个新项,但不会作为数组的一部分添加。
提前致谢!
我正在使用此lib 将mi meteor IOS应用程序设置为流星服务器的客户端。
答案 0 :(得分:2)
这是一个mongo语法问题。您需要使用$push
而不是$set
将元素添加到数组中。请参阅https://docs.mongodb.org/manual/reference/operator/update/push/
尝试:
NSArray *parameters = @[@{@"_id": self.message.messageId},
@{@"$push":@{@"Comments":@{@"text":@"newComment"}}}];