通过键以外的属性检索RavenDB文档而不进行查询

通过键以外的属性检索RavenDB文档而不进行查询,ravendb,Ravendb,是否可以使用一个属性从数据存储中加载(而不是查询)一个文档,该属性将返回一个文档,但不是关键 在我的场景中,我有用户和品牌。品牌是用户,但用户不一定是品牌。每个品牌都有一个UserId属性和它的Id。有没有办法通过它的UserId加载一个品牌文档,或者我应该简单地为此创建一个静态索引并进行查询?我想知道在IDocumentSession.Advanced下是否有我可以用于此目的的东西?否,您只能通过其键加载文档。对不起 您可以构造,这有时会有所帮助。我不确定在你描述的情况下会不会这样 最好是通过

是否可以使用一个属性从数据存储中加载(而不是查询)一个文档,该属性将返回一个文档,但不是关键


在我的场景中,我有用户和品牌。品牌是用户,但用户不一定是品牌。每个品牌都有一个UserId属性和它的Id。有没有办法通过它的UserId加载一个品牌文档,或者我应该简单地为此创建一个静态索引并进行查询?我想知道在
IDocumentSession.Advanced
下是否有我可以用于此目的的东西?

否,您只能通过其键加载文档。对不起

您可以构造,这有时会有所帮助。我不确定在你描述的情况下会不会这样

最好是通过用户ID对品牌进行静态索引


旁白-我认为用“品牌有用户”而不是“品牌就是用户”来更好地描述这种关系-是吗?

在这种情况下不完全是马特-用户可以是品牌或消费者。也许
BrandRepresentative
更有意义。我想我最终可能会使用索引,但我想先检查一下是否还有其他选项-谢谢!这更有道理,是的。但如果是这样的话,你有一对一的关系。为什么不把身份证排成一行?换句话说,consumers/123将匹配users/123。那么你就不需要索引了。另一种选择是将用户设置为抽象基类,并像我从未考虑过的那样对待它们——你是个天才。干杯,马特!除了它不起作用。如果我给用户和品牌相同的id,用户甚至不会被保存到数据存储中,因为它与品牌具有相同的id。我在ID中使用GUID,而不是让Raven自动生成整数,这可能与此有关啊,是的。然后您需要手动调整钥匙。键实际上是entityname/guid的字符串。这有时会让事情变得痛苦。在raven中,字符串ID要容易得多。