MongoDB C#驱动程序多字段查询
使用MongoDB C#驱动程序如何在查询中包含多个字段(我使用vb.net) 我知道怎么做(对于MongoDB C#驱动程序多字段查询,c#,vb.net,mongodb,mongodb-.net-driver,C#,Vb.net,Mongodb,Mongodb .net Driver,使用MongoDB C#驱动程序如何在查询中包含多个字段(我使用vb.net) 我知道怎么做(对于name1=value1) 如何修改此查询,使其能够查找name1=value1和name2=value2中的所有文档 (类似于) 而且并不总是做你想做的事情(我发现在And上执行not操作时就是这样)。您还可以创建一个新的QueryDocument,如下所示。这正是你想要的 Query.Not(new QueryDocument { { "Results.Instance", inst
name1=value1
)
如何修改此查询,使其能够查找name1=value1
和name2=value2
中的所有文档
(类似于)
而且并不总是做你想做的事情(我发现在And上执行not操作时就是这样)。您还可以创建一个新的QueryDocument,如下所示。这正是你想要的
Query.Not(new QueryDocument {
{ "Results.Instance", instance },
{ "Results.User", user.Email } }))
我想在不同的领域搜索文本,而全文搜索即使浪费了这么多时间也不适合我。所以我试过这个
var filter = Builders<Book>.Filter.Or(
Builders<Book>.Filter.Where(p=>p.Title.ToLower().Contains(queryText.ToLower())),
Builders<Book>.Filter.Where(p => p.Publisher.ToLower().Contains(queryText.ToLower())),
Builders<Book>.Filter.Where(p => p.Description.ToLower().Contains(queryText.ToLower()))
);
List<Book> books = Collection.Find(filter).ToList();
var filter=Builders.filter.Or(
Builders.Filter.Where(p=>p.Title.ToLower().Contains(queryText.ToLower()),
Builders.Filter.Where(p=>p.Publisher.ToLower().Contains(queryText.ToLower()),
Builders.Filter.Where(p=>p.Description.ToLower().Contains(queryText.ToLower()))
);
List books=Collection.Find(filter.ToList();
您可以使用:
var arrayFilter = Builders<BsonDocument>.Filter.Eq("student_id", 10000)
& Builders<BsonDocument>.Filter.Eq("scores.type", "quiz");
var arrayFilter=Builders.Filter.Eq(“学生id”,10000)
&Builders.Filter.Eq(“分数.类型”,“测验”);
参考:
var filter = Builders<Book>.Filter.Or(
Builders<Book>.Filter.Where(p=>p.Title.ToLower().Contains(queryText.ToLower())),
Builders<Book>.Filter.Where(p => p.Publisher.ToLower().Contains(queryText.ToLower())),
Builders<Book>.Filter.Where(p => p.Description.ToLower().Contains(queryText.ToLower()))
);
List<Book> books = Collection.Find(filter).ToList();
var arrayFilter = Builders<BsonDocument>.Filter.Eq("student_id", 10000)
& Builders<BsonDocument>.Filter.Eq("scores.type", "quiz");