sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cuál es el mecanismo para realizar una intersección en una consulta de Mongo Linq?

En la sintaxis de MongoDB hay un $in operador que funciona exactamente como intersect+any cuando desea hacer coincidir una matriz en memoria con otra matriz incrustada en su documento.

En el controlador MongoDB C# puede usar AnyIn para aplicar ese operador para dos matrices. Prueba:

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

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