Я новичок в Mongo DB.
Мне нужно создать коллекцию, которая может хранить события. Все документы в событии будут иметь ключи FROM_TIME и TO_TIME, значения которых могут различаться следующим образом:
- {FROM_TIME : "1 сентября 1939 г.", TO_TIME : "август 1945 г."}
- {FROM_TIME : "15 августа 1947 года", TO_TIME : "15 августа 1947 года"}
- {FROM_TIME : "1857", TO_TIME : "1858"}
- {FROM_TIME : "7 декабря 1944 г., 11:00", TO_TIME : "7 декабря 1944 г., 14:40"}
- {FROM_TIME : "январь 1971 г.", TO_TIME : "ноябрь 1972 г."}
Учитывая случайное возникновение FROM_TIME и TO_TIME, можно ли будет запрашивать такие события, как:
- Список событий второй половины 19 века
- Список событий 15 августа и так далее.
Я прошу людей здесь предоставить информацию на случай, если мне нужно будет переосмыслить структуру моей коллекции, поскольку я довольно наивен в Mongo (или любой другой нереляционной) БД.
***Первое редактирование начинается здесь
Я написал следующий код:
DBObject dbObject = new BasicDBObject();
dbObject.put("EVNTATMC_ID", new ObjectId());
dbObject.put("EVNTATMC_DESC", "Pearl Harbour");
dbObject.put("EVNTATMC_FROM_TIME", Date.valueOf("1944-12-07"));
dbObject.put("EVNTATMC_TO_TIME", Date.valueOf("1944-12-07"));
dbObject.put("EVNTATMC_EVNTCMPD_ID", new ObjectId());
dbObject.put("EVNTATMC_MTRL_ID", null);
// dbObject.put("EVNTATMC_AUDIT", 1);
dbObject.put("EVNTATMC_REMARKS", "First insert");
eventAtomic.insert(dbObject);
dbObject = new BasicDBObject();
dbObject.put("EVNTATMC_ID", new ObjectId());
dbObject.put("EVNTATMC_DESC", "1857 Revolt");
dbObject.put("EVNTATMC_FROM_TIME", "1857");
dbObject.put("EVNTATMC_TO_TIME", "1858");
dbObject.put("EVNTATMC_EVNTCMPD_ID", new ObjectId());
dbObject.put("EVNTATMC_MTRL_ID", null);
// dbObject.put("EVNTATMC_AUDIT", 1);
dbObject.put("EVNTATMC_REMARKS", "Only years");
eventAtomic.insert(dbObject);
Здесь я тупо использовал String для хранения неполных дат, но как мне хранить только год, например 1992, 2001, 2012, или только месяц, например, январь, сентябрь или что-то вроде августа 2010 года? Я не уверен, правильно ли я ожидаю! Пожалуйста, объясните мне, как я должен обрабатывать такие «неполные» тайминги.
***Первое редактирование заканчивается здесь