복붙노트

[MONGODB] MongoDB를 및 C # 찾기 ()

MONGODB

MongoDB를 및 C # 찾기 ()

내가 코드 아래에 있고 나는 MongoDB를 새로운 오전, 나는 컬렉션의 특정 요소를 찾는 데 도움이 필요합니다.

using MongoDB.Bson;
using MongoDB.Driver;
namespace mongo_console    {

public class User    {
    public ObjectId Id { get; set; }
    public string name { get; set; }
    public string pwd { get; set; }
}
class Program    {
    static void Main(string[] args)
    {
        MongoClient client = new MongoClient();
        MongoServer server = client.GetServer();
        MongoDatabase db = server.GetDatabase("Users");
        MongoCollection<User> collection = db.GetCollection<User>("users");

        User user = new User
        {
            Id = ObjectId.GenerateNewId(),
            name = "admin",
            pwd = "admin"
        };
        User user2 = new User
        {
            Id = ObjectId.GenerateNewId(),
            name = "system",
            pwd = "system"
        };
        collection.Save(user);
        collection.Save(user2);

        /*
         * How do I collection.Find() for example using the name
         */
  }
}
}

나는 사용자를 찾을 일단 난 그 추적 할 수없는 가망이다, 그것을 인쇄 같은 것 또는에서만 찾을 위치를 반환합니다? 그렇다면, 어떻게 그것을 인쇄 할 수 있습니까?

나는 몇 가지 예 collection.Find (X => x.something)를 보았다하지만 난 그 x는 또는 무슨 뜻인지 모르겠어요

해결법

  1. ==============================

    1.예를 들어, 당신은 발견에서 람다를 사용할 수있는 기록을 확인하는 방법은 다음과 같습니다

    예를 들어, 당신은 발견에서 람다를 사용할 수있는 기록을 확인하는 방법은 다음과 같습니다

    var results = collection.Find(x => x.name == "system").ToList();
    

    또는 당신은 강력한 형식의 람다 또는 텍스트 작업 빌더를 사용할 수 있습니다 :

    var filter = Builders<User>.Filter.Eq(x => x.name, "system")
    

    또는

    var filter = Builders<User>.Filter.Eq("name", "system")
    

    그리고 위와 찾기를 사용

    // results will be a collection of your documents matching your filter criteria
    
    // Sync syntax
    var results = collection.Find(filter).ToList();
    
    // Async syntax
    var results = await collection.Find(filter).ToListAsync();
    
  2. ==============================

    2.그것은 또한 우리가 사용하는 .NET Framework 버전에 따라 차이가 날 수 있습니다. 우리가 배 드라이버를 사용하면은 다음과 같은 모양입니다 :

    그것은 또한 우리가 사용하는 .NET Framework 버전에 따라 차이가 날 수 있습니다. 우리가 배 드라이버를 사용하면은 다음과 같은 모양입니다 :

    var list = await collection.Find(new BsonDocument()).ToListAsync();
    

    방법 2

    await collection.Find(new BsonDocument()).ForEachAsync(X=>Console.WriteLine(X));
    

    참고 예

  3. ==============================

    3.

    using MongoDB.Bson;
    using MongoDB.Bson.Serialization.Attributes;
    using MongoDB.Driver;
    using MongoDB.Driver.Builders;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Mongo_console
    {
        class Program
        {
            public static void Main(string[] args)
            {
                MongoClient client = new MongoClient();
                MongoServer server = client.GetServer();
                MongoDatabase db = server.GetDatabase("admin");
                MongoCollection<Book> collection = db.GetCollection<Book>("Book");
    
    
                Book book1 = new Book
                {
                    Id = ObjectId.GenerateNewId(),
                    name = "Reel To Real"
                };
                Book book2 = new Book
                {
                    Id = ObjectId.GenerateNewId(),
                    name = "Life"
                };
                collection.Save(book1);
                collection.Save(book2);
    
                var query = Query<Book>.EQ(u => u.Id, new ObjectId("5a5ee6360222da8ad498f3ff"));
                Book list = collection.FindOne(query);
                Console.WriteLine( "Book Name  " + list.name);
    
    
                Console.ReadLine();
            }
        }
        public class Book
        {
            [BsonId]
            public ObjectId Id { get; set; }
            public string name { get; set; }
    
            public Book()
            {
            }
    
            public Book(ObjectId id, string name)
            {
                this.Id = id;
                this.name = name;
            }
        }
    }
    
  4. from https://stackoverflow.com/questions/40164908/mongodb-and-c-sharp-find by cc-by-sa and MIT license