问题
Can we add some custom field with static value to mongodb find query?
I am trying to add/append API request UId to all the queries that we are making to mongodb, so that we can map requests with slow queries from mongodb logs.
I am doing it in aggregate queries by using '$literal'
in projected fields.
My Aggregate queries looks something like :
db.test.aggregate({
$project: {
"custom_id": { $literal: "uid" }
..
}
..
})
Also I can't include each field individually in projected fields and add the "custom_id" field with the static value.
回答1:
Instead of using $comment
, you can give a try to the aggregate
function and the literal
:
db.bids.aggregate( [
{ $project: { item: 1, startAt: { $literal: 1 } } }
] )
And as a result you get:
{ "_id" : 1, "item" : "abc123", "startAt" : 1 }
{ "_id" : 2, "item" : "xyz123", "startAt" : 1 }
Doc: $literal
回答2:
Found answer to the question on mongoDb jira. The best way to do this would be using the $comment operator. Here's the link to Documentation.
来源:https://stackoverflow.com/questions/41610412/how-to-add-field-with-static-value-to-mongodb-find-query