Beispiel für die Verwendung des MongoDB C#-Treibers (2.2)

黄舟
Freigeben: 2017-02-28 11:48:32
Original
1385 Leute haben es durchsucht

Das Projekt wurde auf mongoDB C#-Treiber 2.2 aktualisiert. Es wurde festgestellt, dass die Änderungen von 1.9 auf 2.0 immer noch sehr groß sind. Einige gängige Vorgänge wurden mit zusätzlichem Democode integriert:

  class Program
    {
        const string CollectionName = "video";
        static void Main(string[] args)
        {
            // remove the demo collection then recreate later
            db.GetCollection<Video>(CollectionName).Database.DropCollection(CollectionName);


            var videos = new List<Video>
            {
                new Video { Title="The Perfect Developer", 
                            Category="SciFi", Minutes=118 },
                new Video { Title="Lost In Frankfurt am Main", 
                            Category="Horror", Minutes=122 }, 
                new Video { Title="The Infinite Standup", 
                            Category="Horror", Minutes=341 } 
            };


            Console.WriteLine("Insert Videos ...");


            db.GetCollection<Video>(CollectionName).InsertMany(videos);


            Console.WriteLine("[After insert] All Videos : ");
            var all = db.GetCollection<Video>(CollectionName).Find(x=>x.Title != string.Empty).ToList();
            foreach (var v in all)
            {
                Console.WriteLine(v);
            }


            Console.WriteLine("Group By...");


            var groupby = db.GetCollection<Video>(CollectionName).Aggregate()
                    .Group(x => x.Category, g => new {Name = g.Key, Count = g.Count(), TotalMinutes = g.Sum(x => x.Minutes)})
                    .ToList();
            foreach (var v in groupby)
            {
                Console.WriteLine(v.Name + "," + v.Count + "," + v.TotalMinutes);
            }




            Console.WriteLine("Updating One [Title = The Perfect Developer]...");


            // updating title with "The perfect developer" video&#39;s &#39;title&#39; and &#39;minute&#39;
            db.GetCollection<Video>(CollectionName).FindOneAndUpdate(x=>x.Title == "The Perfect Developer",
                    Builders<Video>.Update.Set(x=> x.Title , "A Perfect Developer [updated]")
                                          .AddToSet(x => x.Comments, "good video!")
                                          .AddToSet(x => x.Comments, "not bad"));


            Console.WriteLine("[After Updating One] All Videos : ");
            all = db.GetCollection<Video>(CollectionName).Find(x => x.Title != string.Empty).ToList();
            foreach (var v in all)
            {
                Console.WriteLine(v);
            }


            Console.WriteLine("Deleting One... [Minutes = 122]");
            db.GetCollection<Video>(CollectionName).DeleteOne(x => x.Minutes == 122);
            Console.WriteLine("[After Deleting One] All Videos : ");
            all = db.GetCollection<Video>(CollectionName).Find(x => x.Title != string.Empty).ToList();
            foreach (var v in all)
            {
                Console.WriteLine(v);
            }


            Console.Read();
        }


        private static IMongoDatabase db
        {
            get
            {
                var url = new MongoUrl(ConfigurationSettings.AppSettings["mongoUrl"]);
                var client = new MongoClient(url);
                return client.GetDatabase(url.DatabaseName);
            }
        }
    }


    [BsonIgnoreExtraElements]
    public class Video
    {
        public Video()
        {
            Comments = new List<string>();
        }


        [BsonId]
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }


        public string Title { get; set; }
        public string Category { get; set; }
        public int Minutes { get; set; }


        public IList<string> Comments { get; set; }


        public override string ToString()
        {
            return string.Format("{0} - {1} - {2}", Title, Category, Minutes);
        }
    }
Nach dem Login kopieren

Das Update des mongoDB C#-Treibers von 1.9 auf 2.0 vereinfacht die Datenbankverbindungsmethode, vereinfacht die Schnittstellen zum Suchen, Aktualisieren und Löschen sowie die Gruppierungs- und Projektionsvorgänge auch glatter.
In Builders sind Aktualisierung, Filter, Projektion und Sortierung integriert, wodurch die Funktionen zusammenhängender werden und das Auffinden von Funktionen erleichtert wird.

Das Obige ist der Inhalt des MongoDB C#-Treiber-Nutzungsbeispiels (2.2). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!