MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

quel est le mécanisme pour effectuer une intersection dans une requête Mongo Linq

Dans la syntaxe MongoDB, il y a un $in opérateur qui fonctionne exactement comme intersect+any lorsque vous souhaitez faire correspondre un tableau en mémoire avec un autre tableau intégré dans votre document.

Dans le pilote MongoDB C#, vous pouvez utiliser AnyIn pour appliquer cet opérateur pour deux tableaux. Essayez :

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

Puis en 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();