我知道,一般来说,如果两个文件之间存在一对一的关系,我应该考虑将一个文件嵌入另一个文件中。但是,我确实有一些情况感觉不对,主要是在我需要查询嵌入文档的属性的情况下。我所做的是通过使用约定在两个文档的id(主键)之间建立关系。
例如,用户有一个PasswordResetLog。用户和日志由单独的文档表示。如果用户文档ID为“users / 123 ”,则相应的密码重置日志文档ID为“passwordresetlog / 123 ”。
由于我几乎总能访问userId,因此我可以轻松地以这种方式加载与之关联的文档。
我的第一个问题是:这会为我按惯例专门设置ID的文档创建碎片索引吗?文档ID是顺序的,但我不能总是保证它们将按顺序创建。
我的第二个问题是:我应该只是在与User一对一关系的每个文档上添加属性 UserId ,而不是使用此约定。 ,并为此属性添加索引?