MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

qual è il meccanismo per eseguire un'intersezione in una query Mongo Linq

Nella sintassi di MongoDB è presente un $in operatore che funziona esattamente come intersect+any quando si desidera abbinare un array in memoria con un altro array incorporato nel documento.

Nel driver MongoDB C# puoi usare AnyIn per applicare quell'operatore per due array. Prova:

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

Quindi 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();