Edited in accordance with this comment
If you can use AsQueryable (), you can get these values:
var dbResult = from ticket in ticketsCollection.AsQueryable()
where ticket.TicketProjectID == 49
select new
{
TicketProjectID = ticket.TicketProjectID,
TicketID = ticket.TicketID,
ConcatValue = ticket.Status + " - " + ticket.Name
};
- :
var result = from dbr in dbResult
where dbr.ConcatValue.Contains("something")
where dbr.ConcatValue.StartsWith("something")
select dbr;
. - Status Name Ticket String , mongo ToString() .
, db .
note, i'm not that good with mongo shell i could mess something up but you can see in which way you could go
:
var command = @"db.Tickets.aggregate(
[
{ $project: { TicketProjectID:1, TicketID:1, concatValue: { $concat: [ "$Status", " - ", "$Name" ] } } },
{ $match : { TicketProjectId : 49, concatValue : { $regex : /mysearchkey/i } } }
],
{ allowDiskUse : true }
);";
# RunCommandAsync MongoDatabase.
var result = await mongoDatabase.RunCommandAsync<BsonDocument>(BsonDocument.Parse(command));