我正在Windows 10上使用MongoDB社区版4.2,并插入一些文档。我的要求是存储一些包含“ id”作为字段名称的文档,而MongoDB将其替换为“ _id”并使其成为主键。是否可以禁用此功能并将键“ _id”存储为单独的自动生成的主键列,并将“ id”也存储在作为文档一部分的独立列中?
我们使用SpringData Repository将JPA实体插入MongoDb。我们观察到的将具有名称“ id”作为主键的实体转换为_id,而将具有其他名称(如projectId或原样存储的实体)的实体转换为由MongoDB生成的另一个独立列作为_id作为主键。建议很有帮助。
代码:
@Autowired
TrackHistoryRepository trackHistoryRepository;
trackHistoryRepository.save(entity);
public interface TrackHistoryRepository extends MongoRepository<OdataEntity,String> {}
Entity:
public class CurrencyEntity implements OdataDeleteableEntity<Long> {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id")
private Long id;
谢谢, Divya Garg