using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RedisMongoMigration.Mongo { public class RoleModel { [BsonId] public Guid Id { get; set; } public string RoleName { get; set; } public Guid[] Users { get; set; } } public class MongoRole { private const string _buildCollectionName = "roles"; private MongoClient _dbClient; private IMongoCollection _buildCollection; public MongoRole() { _dbClient = new MongoClient(new MongoClientSettings() { Server = new MongoServerAddress("localhost", 27017) }); _buildCollection = _dbClient.GetDatabase("BuildFeed").GetCollection(_buildCollectionName); } public List Select() { var task = _buildCollection.Find(new BsonDocument()).ToListAsync(); task.Wait(); return task.Result; } public void Insert(RoleModel item) { item.Id = Guid.NewGuid(); var task = _buildCollection.InsertOneAsync(item); task.Wait(); } public void InsertAll(IEnumerable items) { var task = _buildCollection.InsertManyAsync(items); task.Wait(); } } }