.Net 使用 MongoDB

安装nuget包

MongoDB.Driver

简单代码

csharp 复制代码
using MongoDB.Bson;
using MongoDB.Driver;
using System.Buffers;
using System.Collections.Concurrent;
using System.Diagnostics;

namespace ConsoleApp4
{
    internal class Program
    {

      
        static void Main(string[] args)
        {
           var client = new MongoClient("mongodb://192.168.11.137");
           var database = client.GetDatabase("MyTestDB");
            var collection = database.GetCollection<UserInfo>("UserInfo");
            collection.InsertOne(new UserInfo
            {
                Name = "Jack",
                CreateTime = DateTime.Now,
            });

            var query = collection.Find(m => m.Name.Contains("Ja")).SortByDescending(m=>m.Name).ThenBy(m=>m.CreateTime).Skip(0).Limit(20).ToListAsync();
        }

     
    }

    class UserInfo
    {
        public ObjectId Id { get; set; }
        public string Name { get; set; }
        public DateTime CreateTime { get; set; }
    }
}

public ObjectId Id { get; set; } 必须要在model类中定义,否则查询会报错

UpdateOne

csharp 复制代码
var database = client.GetDatabase("MyTestDB2");
            var collection = database.GetCollection<UserInfo>("UserInfo");

            var data = collection.Find(m => true).FirstOrDefault();
            data.Balance = 0;

            var update = Builders<UserInfo>.Update.Set(m=>m.Balance, data.Balance);
            foreach (BsonElement item in data.ToBsonDocument())
            {
                update = update.Set(item.Name, item.Value);
            }

            collection.UpdateOne(m => true, update);

为集合创建索引

csharp 复制代码
   			var database = client.GetDatabase("MyTestDB");
            var collection = database.GetCollection<UserInfo>("UserInfo");
            collection.Indexes.CreateOne( Builders<UserInfo>.IndexKeys.Hashed(m=>m.Id)); //设置Id为哈希类型,并建立索引,哈希类型是否以后分片集群做准备的
相关推荐
Generalzy几秒前
TinyDB轻量文档数据库
数据库
qq_654366981 分钟前
如何排查Oracle客户端连接慢_DNS解析超时与sqlnet配置优化
jvm·数据库·python
黄昏晓x23 分钟前
数据库基础
数据库·adb
李白客28 分钟前
国产数据库选型指南:从技术路线到实战要点
运维·数据库·数据库架构·迁移学习
Nalu CONG41 分钟前
mysql数据被误删的恢复方案
数据库·mysql
小宋加油啊1 小时前
工作中数据库知识
数据库
杨浦老苏1 小时前
数据库备份管理工具DBackup
数据库·docker·备份·群晖
一 乐1 小时前
交通感知与车路协同系统|基于springboot + vue交通感知与车路协同系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·交通感知与车路协同系统
NineData1 小时前
NineData 将亮相 DACon 2026 上海站!解锁 AGI 时代数据“智理”新范式
数据库·架构·agi·ninedata·数据复制·数据迁移工具·dacon2026
黄昏晓x1 小时前
数据库----函数
数据库