Драйвер Java MongoDB - запрос даты

Я новичок в MongoDB и Java, и я пытаюсь получить данные из MongoDB, используя поле даты.

Данные:

{
    "_id" : {
        "timeSlice" : [ 
            2018, 
            5, 
            1
        ],
        "type" : "TRANSMISSION",
        "@objectName" : "SettlementInstance"
    },
    "Versions" : [ 
        {
            "id" : "dc57888a-c070-465f-9f2d-cbc5f2b69a09",
            "status" : "ACTIVE",
            "version" : NumberLong(10007)
        }
    ]
}

Запрос MongoDB, который я использую:

db.getCollection('SettlementInstance').find({"_id.timeSlice" : [2018,5,1]})

Как использовать это поле даты в Java вместе с квадратными скобками и целочисленными датами?

Любое предложение будет действительно полезным.

1 ответ

Решение

Следующий код найдет документ, который вы указали в своем вопросе:

// 3.x driver idiom
Bson filter = Filters.eq("_id.timeSlice", Arrays.asList(2018, 5, 1));

// 2.x driver idiom
// Bson filter = new BasicDBObject("_id.timeSlice", Arrays.asList(2018, 5, 1));

collection.find(filter);
Другие вопросы по тегам