簡體   English   中英

c#中如何在mongo中查找Bson類型的文檔

[英]How to find a document with Bson type in mongo in c#

我想在 MongoDb 中找到具有指定用戶名的角色詳細信息,在 C# 中找到驅動程序。我不想使用任何構建器或 linq 方法。

我試過這個來插入一個 Bson 文檔並且它有效。

            var client = new MongoClient("mongodb://localhost:27017");
            var database = client.GetDatabase("test");
            var collec = database.GetCollection<BsonDocument>("user");

            var documnt = new BsonDocument{
                {"username", txtUsername.Text},
                {"password", txtPassword.Password}
            };
            var check_count = collec.CountDocuments(documnt);

但是當我嘗試使用此代碼查找具有用戶名的角色時,它不起作用:

            var client = new MongoClient("mongodb://localhost:27017");
            var database = client.GetDatabase("test");
            var collec = database.GetCollection<BsonDocument>("user");
            var documnt = new BsonDocument{
                {"username", "admin"},
                {"role", 1}
            };
            var role = collec.Find(documnt);
            txtTestRole.Text = role.ToString();

我得到的是 output:在此處輸入圖片描述

您必須具體化查詢。

當您查詢單個記錄時,您可以使用IAsyncCursorSourceExtensions.SingleOrDefault 方法

或者你可以參考IFindFluent (擴展方法部分) select最適合你的方法。

接下來,從返回的BsonDocument到 select 顯示值的特定字段。

var user = collec.Find(documnt)
    .SingleOrDefault();

if (user == null)
{
  // Handle user not exist
  return;
}

txtTestRole.Text = user["role"].ToString();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM