Microservice Storage - Extension class
Overview
To make interactions with mongo storage feature easier and more affordable we've introduced MongoCrudExtensions
class that contains following methods:
- Get
- Create
- Update
- Delete
Example
In the example, there is a TestDocument
storage document as described below.
namespace Beamable.Server
{
public class TestDocument : StorageDocument
{
public int IntValue;
public string StringValue;
}
}
The example targets the TestStorage
StorageObject class.
using Beamable.Common;
using MongoDB.Driver;
namespace Beamable.Server
{
[StorageObject("TestStorage")]
public class TestStorage : MongoStorageObject
{
}
}
Then, in a Microservice, the TestDocument
can be created, read, updated, and deleted as shown below.
using Beamable.Mongo;
using Beamable.Server;
using MongoDB.Driver;
using System.Collections.Generic;
namespace Beamable.Microservices
{
[Microservice("TestMicroservice")]
public class TestMicroservice : Microservice
{
[ClientCallable]
public async void Get(string id)
{
TestDocument document = await Storage.Get<TestStorage, TestDocument>(id);
}
[ClientCallable]
public async void Create(int intValue, string stringValue)
{
await Storage.Create<TestStorage, TestDocument>(new TestDocument
{
IntValue = intValue, StringValue = stringValue,
});
}
[ClientCallable]
public async void Update(string id, int intValue, string stringValue)
{
await Storage.Update<TestStorage, TestDocument>(id, new TestDocument
{
IntValue = intValue,
StringValue = stringValue
});
}
[ClientCallable]
public async void Delete(string id)
{
await Storage.Delete<TestStorage, TestDocument>(id);
}
}
}
The Collection Name is the Class Name
When you use these helper methods, the Mongo Collection for the
TestDocument
class will be called"TestDocument"
.
Updated about 1 year ago