Объект для группового идентификатора в конвейерах MongoDB

Это означает, что ваш текущий процесс становится новым процессом, а не тем, чем он был. Вы перестаете делать то, что делаете, и начинаете делать, на самом деле, что-то другое вместо этого, никогда не восстанавливать то, что этот процесс когда-то был.

Вместо того, чтобы начать совершенно новый процесс, ваш текущий pid и среда станут новым процессом. Это позволит вам настроить вещи так, как новый процесс будет нужен, прежде чем выполнять exec

1
задан arvymetal 15 January 2019 в 23:48
поделиться

1 ответ

вы можете использовать $concat

db.t55.aggregate([
    {$addFields : {
        id : {$concat : [{$cond :["$isPaid", "1","0"]}, ".", "$state", "." ,"$updatedAt"]}
    }}
])

, используя $toString, если не просто true / false

db.t55.aggregate([
    {$addFields : {
        id : {$concat : [{$toString :{$indexOfArray : [[false,true], "$isPaid"]}}, ".", "$state", "." ,"$updatedAt"]}
    }}
])

выход

{ "_id" : ObjectId("5c3e794b21526e3ff4bf4ca2"), "id" : "0.approved.2018-06-27", "state" : "approved", "isPaid" : false, "updatedAt" : "2018-06-27", "totalCount" : 1, "totalValue" : 658.4332 }
{ "_id" : ObjectId("5c3e794b21526e3ff4bf4ca3"), "id" : "0.canceled.2018-05-30", "state" : "canceled", "isPaid" : false, "updatedAt" : "2018-05-30", "totalCount" : 1, "totalValue" : 1735.7175 }
0
ответ дан Saravana 15 January 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: