.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为哈希类型,并建立索引,哈希类型是否以后分片集群做准备的
相关推荐
Micro麦可乐12 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
码农阿豪12 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
追逐时光者12 小时前
一个基于 .NET 与 Avalonia 构建、面向 TrinityCore 的开源 WoW 数据库编辑器
后端·.net
鼎讯信通12 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
三十..13 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
追逐时光者13 小时前
精选 5 款基于 .NET 开源免费、功能强大的 Windows 系统优化工具
后端·.net
cfm_291413 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
真实的菜14 小时前
Redis 从入门到精通(十二):典型业务场景实战 —— 排行榜、限流器、秒杀系统、Session 共享
数据库·redis·python
你想考研啊14 小时前
mysql数据库导出导入
数据库·mysql·oracle
十年编程老舅15 小时前
Linux DRM:底层逻辑与实践架构
数据库·mysql