我有一个文档中的mongodatabase只有在与数据库不同的情况下才更新文档?
user:{
name:'bruce',
surname:'wayne',
job:'batman',
email:'[email protected]',
}
所以当用户更新信息,我必须:
- 查询到数据库中,如果用户存在
- 是否存在得到数据库 的值
- 将数据库的值与用户发送的表单值进行比较
- 如果来自数据库的值相等,则放弃操作
- 如果从数据库中的值是diferent,更新值与窗体值
- 靠近db和sent.response
所以在这种情况下,如果用户发送这样的:
form.newUserInfo:{
name:'bruce albert',
surname:'wayne',
job:'batman only at night',
email:'[email protected]',
}
只是更新名称和工作。
有没有什么办法可以在6个步骤之内做到这一点?我正在使用nodejs v0.10,mongodb 2.2.3,expressjs和mongoskin v0.5
如果新值与旧值相同,替换它们会带来什么样的危害?请更新您的问题,以包含一些关于_why_您尝试这样做的信息,这可以帮助他人回答您的问题。 – 2013-03-18 00:19:55
我同意马丁,你用这六个步骤获得了什么?如果两个人同时编辑记录,他们仍然会覆盖彼此的变化。 – robertc 2013-03-18 00:22:13
如果新值与旧值相同,则替换它们是没有问题的,因为它们与旧的相同,但它是否有变更只有不同的值另一个问题是当用户第一次插入值时...我要先检查是否存在.. – andrescabana86 2013-03-18 00:36:08