这是我第一次使用 RavenDB。我无法询问代码的创建者他们为什么做出某些决定,所以我转向互联网陌生人并希望得到一些善意。
整个代码中有许多搜索查询,它们看起来都像:
query.AndAlso().Search("Content", $"*searchExpression*");
这query
是一个 RavenDB IDocumentQuery
。Content
正在搜索的文档上未定义该属性。
我认为这将对文档中的所有属性进行搜索。不幸的是,我找不到任何关于此的文档,所以我不确定这会如何影响性能、安全性和注入攻击。我什至不确定这是否被积极劝阻。
有人可以对此有所了解吗?即使这只是我的谷歌搜索的方向,因为“ravendb 搜索内容”不会返回很多有用的文章。
编辑:为了澄清,我理解该Search
方法的语法。它需要搜索属性,然后是正在搜索的表达式。但我有一个文件
public class Person {
public string FirstName {get; set;}
public string LastName {get; set;}
public DateTime DateOfBirth {get; set;}
}
保持与上述Search
相同。本Person
文档中没有“内容”属性。然而它确实搜索了一些东西,因为我可以看到文档列表被过滤了。我只是不知道它在过滤什么。