安装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为哈希类型,并建立索引,哈希类型是否以后分片集群做准备的