MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Was ist der Mechanismus zum Durchführen einer Überschneidung in einer Mongo-Linq-Abfrage?

In der MongoDB-Syntax gibt es ein $in -Operator, der genau wie intersect+any funktioniert, wenn Sie ein In-Memory-Array mit einem anderen in Ihr Dokument eingebetteten Array abgleichen möchten.

Im MongoDB C#-Treiber können Sie AnyIn verwenden um diesen Operator auf zwei Arrays anzuwenden. Versuchen Sie:

db.col.save({ Collection: [1,2,3] })l

Dann in C#:

var filterBuilder = Builders<YourModel>.Filter;
var inMemoryList = new List<int>() { 3, 4, 5 };

var result = Col.Find(filterBuilder.AnyIn(x => x.Collection, inMemoryList)).ToList();