1.背景: 最近做的PHP项目中尝试性的使用了MongoDB,但发现mongoDB在insert的时候会自动插入_id这个条目, 这个_id条目起到的作用类似于关系数据库中的主键。 2.问题:在mongoDB中,form这个collection中需要用到表单post过来的id(判断是谁的表格)作为主键,又因为 用户在填表单时可能不会一次填完或者需要多个人先后填写,所以一次插入的内容是不完整的表单信息,如果直接使用 save{("id":"XXXXX",Array)}会导致form中出现两个id相同但是内容不同的集合。 3.曲线救国的解法:我通过在insert之前,判断db.form.find{("id":"XXXXX")},如果不存在则db.form.insert{(Array)} 存在则先db.form.remove{("id":"XXXXX")},后insert. 4.扩展:http://www.oschina.net/question/2269509_224279 类似的问题以及一些想法 5.新发现的方法:点击打开链接