• <六>.netcore 查询 MongoDb 其他方法


    上一篇试了创建文档,和检索文档的操作,这一篇来试试Find中的一些操作方法。

    • Limit,有时不想返回所有文档,就可以用这个方法进行限制数量

    var connectionString = "mongodb://localhost:27017";
    var client = new MongoClient(connectionString);
    var database = client.GetDatabase("School");
    var collection = database.GetCollection<StudentNew>("StudentNew");
    await collection.Find(x => x.Sex =="")
        .Limit(2)
        .ForEachAsync(student =>
        {
            Console.WriteLine(student.Name);
        });
    class StudentNew
    {
        public ObjectId _id { get; set; }
        public string Name { get; set; }
        public string Age { get; set; }
        public IEnumerable<string> Address { get; set; }
        public string Sex { get; set; }
    }

    • Skip跳过一定数量的文档

    var connectionString = "mongodb://localhost:27017";
    var client = new MongoClient(connectionString);
    var database = client.GetDatabase("School");
    var collection = database.GetCollection<StudentNew>("StudentNew");
    await collection.Find(x => x.Sex =="")
        .Skip(1)
        .ForEachAsync(student =>
        {
            Console.WriteLine(student.Name);
        });
    class StudentNew
    {
        public ObjectId _id { get; set; }
        public string Name { get; set; }
        public string Age { get; set; }
        public IEnumerable<string> Address { get; set; }
        public string Sex { get; set; }
    }

    • Sort 排序,1:正序排序,-1:倒序排序

    var connectionString = "mongodb://localhost:27017";
    var client = new MongoClient(connectionString);
    var database = client.GetDatabase("School");
    var collection = database.GetCollection<StudentNew>("StudentNew");
    await collection.Find(x => x.Sex =="")
        .Sort("{Age:1}")
        .ForEachAsync(student =>
        {
            Console.WriteLine(student.Name);
        });
    class StudentNew
    {
        public ObjectId _id { get; set; }
        public string Name { get; set; }
        public string Age { get; set; }
        public IEnumerable<string> Address { get; set; }
        public string Sex { get; set; }
    }

    • Projection投影,即只查询需要查询的字段。

    var connectionString = "mongodb://localhost:27017";
    var client = new MongoClient(connectionString);
    var database = client.GetDatabase("School");
    var collection = database.GetCollection<StudentNew>("StudentNew");
    await collection.Find(x => x.Sex =="")
        .Sort("{Age:1}")
        .Project("{Age:1}")
        .ForEachAsync(student =>
        {
            Console.WriteLine(student);
        });
    class StudentNew
    {
        public ObjectId _id { get; set; }
        public string Name { get; set; }
        public string Age { get; set; }
        public IEnumerable<string> Address { get; set; }
        public string Sex { get; set; }
    }

  • 相关阅读:
    C#实现注册码
    多表链接 Left join
    Repeater 一行显示两列数据
    Repeater一行显示数据库中多行表记录
    HP QC(Quality Center)在Windows 7 IE8 IE9下不能工作解决方案
    Android应用换肤总结
    Lua 第一个应用程序 Hello World
    JNI 技术与 Android 应用
    NSAutoreleasePool' is unavailable: not avail
    1-2基础控件
  • 原文地址:https://www.cnblogs.com/choii/p/16384030.html
Copyright © 2020-2023  润新知