Comments (3)
The next release will do this natively:
from mongodb-generic-repository.
Figured this out. Created method that works as AddManyAsync but uses GetCollection directly instead of HandlePartitioned. In this case we can specify different collection name in Mongo DB for the same model / class / type in C#.
public class CStorage<T> : BaseMongoRepository, IStorageService<T>
{
public CStorage() : base(
ConfigurationManager.AppSettings["MongoConnection"],
ConfigurationManager.AppSettings["MongoStorage"])
{
}
public async Task AddPartitionsAsync<TDocument>(IEnumerable<TDocument> documents, string partitionKey = null) where TDocument : IDocument
{
if (documents.Any())
{
documents.ForEach(o => FormatDocument(o));
await GetCollection<TDocument>(partitionKey).InsertManyAsync(documents);
}
}
}
from mongodb-generic-repository.
Glad you solved your issue :)
Yes AddMany does not support insertion of documents with different PartitionKey
values.
You could however try:
foreach(var group in documents.GroupBy(e => e.PartitionKey))
{
repo.AddMany<DocType, TKey>(group);
}
I have not tested this but it should theoretically work.
That way you cannot mistakenly insert docs in the wrong partition.
I hope this helps :)
from mongodb-generic-repository.
Related Issues (20)
- Question : How to update more sub documents HOT 1
- The MongoDb accessor enable override HOT 6
- Run CoreIntegrationTests Handler Error HOT 5
- MongoDB stored procedure HOT 1
- Fix Nuget package HOT 5
- Is Upsert Possible? HOT 2
- Remove code that modified global MongoDB Driver Settings HOT 3
- Add UpdateMany() method to IBaseMongoRepository_Update HOT 5
- Random is a false random generate,why dou you use it yet HOT 1
- Question: is it possible to get only some fields on select ? HOT 3
- The CancellationToken class needs to be supported in CRUD methods HOT 5
- AddOneAsync always generate new _id HOT 1
- After updating to 1.4.5 or 1.4.4, does not show any docs HOT 3
- Is it possible to use with .Net 4.8? HOT 1
- How to use with Aggregate AllowDiskUse
- BsonDiscriminator Implementation
- Documents don't show up in Azure Cosmos DB data explorer
- Help with unit test for custom use cases
- Security Updates HOT 1
- Scoped repository/multitenancy HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongodb-generic-repository.