使用MongoDB的c#驱动程序避免代码注入

使用MongoDB的c#驱动程序避免代码注入,mongodb,code-injection,mongodb-.net-driver,Mongodb,Code Injection,Mongodb .net Driver,我有以下代码,用于检查用户输入的电子邮件是否已存在于集合中: MongoDatabase authdb = DatabaseManager.GetDatabase("authdb"); var userDocuments = authdb.GetCollection<UserDocument>(UserDocument.CollectionName); var doc = userDocuments.FindOne(new QueryDocument("email", email))

我有以下代码,用于检查用户输入的电子邮件是否已存在于集合中:

MongoDatabase authdb = DatabaseManager.GetDatabase("authdb");
var userDocuments = authdb.GetCollection<UserDocument>(UserDocument.CollectionName);
var doc = userDocuments.FindOne(new QueryDocument("email", email));
MongoDatabase authdb=DatabaseManager.GetDatabase(“authdb”);
var userDocuments=authdb.GetCollection(UserDocument.CollectionName);
var doc=userDocuments.FindOne(新的QueryDocument(“email”,email));

我有点担心,使用用户提供的值(电子邮件)为各种注入打开了机会,有点像SQL注入。这是一个真正的问题吗?如何解决?这里有官方文件


正如文档所述,您需要注意的最大方面是db.eval()。驱动程序的.eval()方法将被转换为等效的javascript.eval函数。在javascript中使用.eval时要格外小心,因为它在()中执行代码