private static void SeedItems(IMongoDatabase db) { var collection = db.GetCollection <MongoItem>(MongoItem.COLLECTION); for (int i = 1; i <= 20; i++) { string userId = (i & 1) == 1 ? "Odd" : "Even"; DateTime dt = new DateTime(2015, 12, i, 0, 0, 0, DateTimeKind.Utc); MongoItem item = new MongoItem { Id = $"item-{i:000}", Title = $"Item {i}", Description = $"Description of item {i}", FacetId = (i & 1) == 1 ? "alpha" : "beta", GroupId = $"g{i / 2:00}", SortKey = $"item{i:000}", Flags = i, CreatorId = userId, UserId = userId, TimeCreated = dt, TimeModified = dt }; collection.InsertOne(item); } }
private MongoItem[] SeedItems() { EnsureClientCreated(CONNECTION); IMongoDatabase db = Client.GetDatabase(DB_NAME); IMongoCollection <MongoItem> items = db.GetCollection <MongoItem>(MongoItem.COLLECTION); IMongoCollection <MongoPart> parts = db.GetCollection <MongoPart>(MongoPart.COLLECTION); var jsonOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }; // generate IDs string[] itemIds = new string[4]; for (int i = 0; i < 4; i++) { itemIds[i] = Guid.NewGuid().ToString(); } // generate items and seed // 4 items: A B C D with hierarchy: // A (y=1) // +--B (y=2 x=1) // +--C (y=2 x=2) // +--D (y=3) MongoItem[] mongoItems = new MongoItem[4]; for (int i = 0; i < 4; i++) { char letter = (char)('A' + i); // item MongoItem mongoItem = new MongoItem { Id = itemIds[i], Title = $"Item {letter}", Description = $"Description for {letter}", FacetId = "default", SortKey = $"item {letter}", CreatorId = "zeus", UserId = "zeus" }; mongoItems[i] = mongoItem; items.InsertOne(mongoItem); // hierarchy part HierarchyPart part = new HierarchyPart { ItemId = mongoItem.Id, CreatorId = mongoItem.CreatorId, UserId = mongoItem.UserId }; SetHierarchyPart(i, part, itemIds); parts.InsertOne(new MongoPart(part) { Content = BsonDocument.Parse( JsonSerializer.Serialize(part, part.GetType(), jsonOptions)) }); } return(mongoItems); }