[英]MongoDB C# Driver multiple field query
使用 MongoDB C# 驅動程序如何在查詢中包含多個字段(我使用 vb.net)
我知道怎么做(對於name1=value1
)
Dim qry = Query.EQ("name1","value1")
如何修改此查詢,以便我可以找到name1=value1
和name2=value2
所有文檔?
( 相似 )
db.collection.find({"name1":"value1","name2":"value2"})
使用And
方法 - 教程中的 C#示例:
MongoCollection<BsonDocument> books;
var query = Query.And(
Query.EQ("author", "Kurt Vonnegut"),
Query.EQ("title", "Cats Craddle")
);
我想在不同的領域搜索文本,即使浪費了這么多時間,全文搜索也不適合我。 所以我試過這個。
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();
並且並不總是做你想做的(正如我發現在 and 之上執行 not 操作時的情況)。 您還可以創建一個新的 QueryDocument,如下所示。 這與您要查找的內容完全相同。
Query.Not(new QueryDocument {
{ "Results.Instance", instance },
{ "Results.User", user.Email } }))
您可以使用:
var arrayFilter = Builders<BsonDocument>.Filter.Eq("student_id", 10000)
& Builders<BsonDocument>.Filter.Eq("scores.type", "quiz");
參考: https : //www.mongodb.com/blog/post/quick-start-csharp-and-mongodb--update-operation
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.