How to add field with static value to mongodb find query?

我是研究僧i 提交于 2019-12-10 21:35:25

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!