Суммируйте дни в статусе системы, вычисляя разницу в днях для каждого набора записей.

Если вы хотите вернуть измененный документ, вам нужно установить ссылку API {new:true} API, вы можете использовать Cat.findOneAndUpdate(conditions, update, options, callback) // executes

, принятый официальным API Mongoose http: // mongoosejs. com / docs / api.html # findoneandupdate_findOneAndUpdate вы можете использовать следующие параметры

A.findOneAndUpdate(conditions, update, options, callback) // executes
A.findOneAndUpdate(conditions, update, options)  // returns Query
A.findOneAndUpdate(conditions, update, callback) // executes
A.findOneAndUpdate(conditions, update)           // returns Query
A.findOneAndUpdate()                             // returns Query

Другая реализация, которая не выражена на официальной странице API, и это то, что я предпочитаю использовать, это Promise, которые позволяют вам иметь .catch, где вы можете иметь дело со всей вашей различной ошибкой.

    let cat: catInterface = {
        name: "Naomi"
    };

    Cat.findOneAndUpdate({age:17}, cat,{new: true}).then((data) =>{
        if(data === null){
            throw new Error('Cat Not Found');
        }
        res.json({ message: 'Cat updated!' })
        console.log("New cat data", data);
    }).catch( (error) => {
        /*
            Deal with all your errors here with your preferred error handle middleware / method
         */
        res.status(500).json({ message: 'Some Error!' })
        console.log(error);
    });

0
задан GMB 16 January 2019 в 00:07
поделиться

1 ответ

Попробуйте запрос ниже.

    ;with cte
    AS
    (
        Select ROW_NUMBER() OVER(partition by STAT Order by UDATE ) as Rn,  
        *,
        LAG(UDATE) OVER(partition by STAT Order by UDATE ) As PrevUDate,
        COUNT(*) OVER(partition by STAT) As [Count]
        from YourTable
    )



    Select Max(rn) As [Count],
    OBJNR,STAT,
    SUM(CASE WHEN rn%2=0 THEN DATEDIFF(d,PrevUDate,UDATE) 
            WHEN rn=[Count] THEN  DATEDIFF(d,UDATE,getDate())   
        ELSE 0 END)
    from cte
    Group BY OBJNR, STAT
0
ответ дан Sahi 16 January 2019 в 00:07
поделиться
Другие вопросы по тегам:

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