interactingwithdatabase



  • подскажите по выборке

    у меня таблича имеет сдедующую структуру
    101:
    data:
    17: "5dc049a26168192389ec0e22"
    18: "doge"
    19: "0.35323700"
    20: "2019-11-05T11:22:48" в БД - тип дата
    proto: Object
    id: "5dc131583f05a06cc6a2248b"
    proto: Object
    102:
    data:
    17: "5dc049a26168192389ec0e39"
    18: "btc"
    19: "0.000000060"
    20: "2019-11-05T11:24:23"
    proto: Object
    id: "5dc131b73f05a06cc6a2248c"

    согласно мануала https://wiki.bablosoft.com/web-interface/#/interactingwithdatabase делаю выборку

    (основная задача найти данные где дата меньше чем)

    вот код
    filter = {
    Filter: {
    FilterList: [{
    ColumnId: 20,
    Type: "DateIsLessThan",
    Data: "2019-11-05T11:26:43",
    }
    ]
    }
    };

    Rc = await Api.DatabaseSelect(filter, 16);
    console.log(Rc); не выбирает


    aaa = new Date("2019-11-05T17:02:57")
    aaa = aaa.getTime();
    filter = {
    Filter: {
    FilterList: [{
    ColumnId: 20,
    Type: "DateIsLessThan",
    Data: aaa,
    }
    ]
    }
    };

    Rc = await Api.DatabaseSelect(filter, 16);
    console.log(Rc);
    пробовал и ето Data: "2019-11-04T18:01:44.000+00:00",
    то же не выбирает



  • @vitsh1974 said in interactingwithdatabase:

    подскажите по выборке

    Вы когда выкладываете код, пользуйтесь вот этой кнопкой:
    f3f2f859-0cb2-4ccf-afc4-1dac20109be7-изображение.png

    форум может съесть часть символов посчитав их оформлением. Да и разбираться в этом дико неудобно.


    Попробуйте хранить дату в unixtime



  • @Fox aaa = new Date("2019-11-05T17:02:57")
    aaa = aaa.getTime();

    пробовали и не работает



  • @pavelduglas said in interactingwithdatabase:

    @Fox aaa = new Date("2019-11-05T17:02:57")
    aaa = aaa.getTime();

    пробовали и не работает

    В бас старый движок js он не умеет такую дату парсить



  • Type: "DateIsLessThan",
    Data: "ЧТО СЮДА ВСТАВЛЯТЬ" , чтобы работало



  • @pavelduglas said in interactingwithdatabase:

    Type: "DateIsLessThan",
    Data: "ЧТО СЮДА ВСТАВЛЯТЬ" , чтобы работало

    Смотря что именно у вас в базе. Проверил сейчас, если класть в базу Date.now()
    cb341443-864d-4da8-8e52-04a7ba1e1b5e-изображение.png

    0d30fc4d-ccf3-4b27-8d5b-af10b9888e6f-изображение.png

    5261fedd-37dc-4397-becd-7f57af4ae286-изображение.png
    то фильтр по дате не работает:

    var filter = {
       Filter:
       {
          FilterList:
          [
             {
                ColumnId:2,
                Type:"DateIsSameYear",
                Data:Date.now(),
             }
          ]
       }
    }
    
    Api.DatabaseSelect(filter, 1).then(function(RecordList){
       console.log(RecordList) //[]
    })
    

    9d84d7e0-b5be-44b9-96af-53c4ad756d44-изображение.png


    но если класть в базу экземпляр объекта даты new Date()
    893cd265-d8c5-4b2c-bb80-4546ef46dc12-изображение.png

    то фильтр по дате работает:
    344dabbd-f59b-4dda-860a-4eb37150bc53-изображение.png

    хоть и менеджер данных BAS отображает дату неправильно:
    ca8d7b9e-f531-4e87-a67d-cd199901c932-изображение.png



  • получаеться что из веб интерфейса - не работает ( +1 палка гриффендору за нажождение бага)



  • @vitsh1974 said in interactingwithdatabase:

    получаеться что из веб интерфейса - не работает ( +1 палка гриффендору за нажождение бага)

    Вы точно читали мой пост?



  • задача получить данные где дата меньше чем
    12 января 2018 года 03 часа 17 минут 12 секунд

    
    filter = {
    Filter: {
    FilterList: [{
    ColumnId: 20,
    Type: "DateIsLessThan",
    Data: 'ЧТО СЮДА ВСТАВИТЬ???',
    }
    ]
    }
    };
    
    Rc = await Api.DatabaseSelect(filter, 16);
    

    Снимок.PNG

    при етом ордер (сортировка по дате) работает

    ставим ++ на https://community.bablosoft.com/topic/8851/mongo-4


Log in to reply