如何根据多个字段和不同的时间戳格式查找和删除重复项?

时间:2019-05-08 07:16:31

标签: mongodb mongodb-query

我正在使用基于mongodb的开源数据库来跟踪和管理血糖水平,并且必须消除具有不同时间戳的重复项。

如果我从父亲的电话输入一顿饭(“碳水化合物校正”),则母亲电话中的另一个客户似乎正在克隆该条目,但使用了不同的时间戳格式(请参见图像)。因此,我在表中有重复的条目,但没有确切的副本。

试图熟悉nosql查询,我发现它可以识别重复项:

db.treatments.aggregate([
    { "$match": { "created_at": { $exists: 1 } } },
    //{$match: {enteredBy: "Spike"}},
    {
        "$group": {
            "_id": { "created_at": "created_at", "carbs": "$carbs", "eventType": "eventType", "notes": "notes" },
            "uniqueIds": { "$addToSet": "$_id" },
            "count": { "$sum": 1 },
            "docs": { "$push": "$_id" }
        }
    },
    { "$match": { "count": { "$gt": 1 } } },
    { $sort: { _id: -1 } }
]) 

但这不能将不同的时间戳识别为一组。

此外,其他一些条目具有时间戳的第三种形式(浅蓝色)。

我需要删除所有重复项。有人可以指出我如何正确处理该问题吗?

非常感谢! 平子

0 个答案:

没有答案