Net Core教程

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

本文主要是介绍<六>.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; }
}

 

这篇关于<六>.netcore 查询 MongoDb 其他方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!