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

Consultando un subcampo en documentdb

En el shell de Mongo, puede usar $(projection) operador:

db.collection.find({ "doc.deliverynum": "999" }, { "doc.$": 1 })

El código C# correspondiente puede verse a continuación:

var q = Builders<Model>.Filter.ElemMatch(x => x.doc, d => d.deliverynum == "999");
var p = Builders<Model>.Projection.ElemMatch(x => x.doc, d => d.deliverynum == "999");

var data = Col.Find(q).Project(p).ToList();

También puede usar q = Builders<Model>.Filter.Empty si desea obtener todos los documentos, incluso si no contienen deliverynum =``999