MongoDB Cheat Sheet
Create a new user
1 |
mongo admin --port 27017 --eval "db.createUser({user: \"ADMIN\",pwd:\"Password\",roles:[{role:\"root\",db:\"admin\"}]})" |
C# Driver
Update many objects using a $or and UpdateManyAsync
1 2 3 4 5 6 7 8 9 10 |
var builder = Builders<MyObject>.Filter; var filter = builder.Eq(m => m.IsDeleted, true) & builder.Eq(m => m.ParentId, parentId); filter &= builder.Or(builder.Regex(m => m.FullName, new BsonRegularExpression("TS.*", "i")), builder.Regex(m => m.FullName, new BsonRegularExpression("VS.*", "i")), builder.Eq(m => m.Name, "Container")); var update = Builders<MyObject>.Update.Set(m => m.Selected, true); await collection.UpdateManyAsync(filter, update); |
Upsert where a GUID is set during insert but not update.
1 2 3 4 5 6 7 8 9 10 |
var setDoc = domain.ToBsonDocument(); setDoc.Remove("_id"); var updateDoc = new BsonDocument { { "$setOnInsert", new BsonDocument { {"_id", Guid.NewGuid() } } }, { "$set", setDoc } }; await _collection.UpdateOneAsync(filter, updateDoc, new UpdateOptions { IsUpsert = true}); |
Connect to a MongoDB instance with username, password, server and port.
1 2 3 4 5 6 7 8 9 |
var settings = new MongoClientSettings { Credentials = new[] { MongoCredential.CreateCredential("admin", username, password) }, Server = new MongoServerAddress(serverName, port) }; var client = new MongoClient(settings); |