MongoDB中如何不使用_id作为主键?曲线救国?
2017-03-02 16:35
1371 查看
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.新发现的方法:点击打开链接
这个_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.新发现的方法:点击打开链接
相关文章推荐
- 非mongodb数据库如何使用mongodb生成的主键id
- mongodb使用-增删改查、colleciton关联、_id作为主键实现update
- 关系型数据库与mongodb 数据同步时主键ID的使用
- Mongodb使用时用_id作为检索条件的一个问题
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
- 如何使用MongoDB+Springboot实现分布式ID
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(500W单表)
- 如何使用MongoDB+Springboot实现分布式ID?
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
- 无特殊需求下Innodb建议使用与业务无关的自增ID作为主键
- 如何使用MongoDB+Springboot实现分布式ID?
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(500W单表)
- MySQL 使用自增ID主键和UUID 作为主键的优劣比較具体过程(从百万到千万表记录測试)
- 在数据库中使用数字ID作为主键的表生成主键方法
- MongoDB使用ObjectId作为_id字段值,简述ObjectId构造
- Woocommerce 分类下的产品如何使用ID号来作为默认排序字段
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
- MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)
- 如何写出一条SQL语句:取出表A中第31~40条记录(SQLServer,以自动增长的ID作为主键
- JSP中如何取得MSSQL数据库表中自动增长的ID主键值?