• <六>.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; }
    }

  • 相关阅读:
    梯度下降进阶
    梯度下降基础
    python---matplotlib
    python---numpy
    浅析Jupyter Notebook
    anaconda安装
    机器学习---导学
    python---线程与进程
    mapping values are not allowed in this context at line 115 column 10
    laravel进行单元测试的时候如何模拟数据库以及mockery的调用
  • 原文地址:https://www.cnblogs.com/choii/p/16384030.html
Copyright © 2020-2023  润新知