给出一个简单的json文档,例如:
{ _id: 1234, messages: [...], otherfields: ... }
如果两个人打开文档,并将消息推送到阵列上,则第一个更新将被第二个更新。
对于阵列以外的类型,我对此很好。
在rdbms中,这不是问题,因为这两个消息只是简单地插入到消息表中而没有问题。同样,我可以将消息放入一个单独的集合中,但我觉得我失去了使用文档存储的优势,我可以将消息保存在文档的上下文中。
是否有解决方案在商店中指定推送操作,以便我不必破坏数组?
具体来说,我正在看mongodb,但我很欣赏来自其他人的解决方案,比如couchdb。
答案 0 :(得分:2)
您要求MongoDB进行推送操作。好吧,它被称为$ push。它将为您处理原子更新。 http://www.mongodb.org/display/DOCS/Updating#Updating-%24push
甚至可以将数组作为$ pushAll
传递给它