db.collection.find({"createdDate":{$gte:new ISODate("2017-04-14T23:59:59Z"),$lte:new ISODate("2017-04-15T23:59:59Z")}}).count();
Замените collection
именем коллекции, которую хотите выполнить запрос
вы можете узнать mime-тип файла (или байтовый массив), поэтому вы не будете тупо полагаться на расширение. Я делаю это с помощью Aperture MimeExtractor ( http://aperture.sourceforge.net/ ), или несколько дней назад я видел библиотеку только для этого ( http://sourceforge.net/projects/mime -util )
Я использую aperture для извлечения текста из различных файлов, не только из pdf, но мне нужно настроить мысли, например, для pdf (aperture использует pdfbox, но я добавил другую библиотеку в качестве запасного варианта, когда pdfbox не работает)
Файлы PDF начинаются с "% PDF" (откройте один в TextPad или аналогичном и посмотрите)
По какой-либо причине вы не можете просто прочитать файл с помощью StringReader и проверить это?
Вот что я использую в своих тестах NUnit, которые должны проверяться на наличие нескольких версий PDF, сгенерированных с помощью Crystal Reports:
public static void CheckIsPDF(byte[] data)
{
Assert.IsNotNull(data);
Assert.Greater(data.Length,4);
// header
Assert.AreEqual(data[0],0x25); // %
Assert.AreEqual(data[1],0x50); // P
Assert.AreEqual(data[2],0x44); // D
Assert.AreEqual(data[3],0x46); // F
Assert.AreEqual(data[4],0x2D); // -
if(data[5]==0x31 && data[6]==0x2E && data[7]==0x33) // version is 1.3 ?
{
// file terminator
Assert.AreEqual(data[data.Length-7],0x25); // %
Assert.AreEqual(data[data.Length-6],0x25); // %
Assert.AreEqual(data[data.Length-5],0x45); // E
Assert.AreEqual(data[data.Length-4],0x4F); // O
Assert.AreEqual(data[data.Length-3],0x46); // F
Assert.AreEqual(data[data.Length-2],0x20); // SPACE
Assert.AreEqual(data[data.Length-1],0x0A); // EOL
return;
}
if(data[5]==0x31 && data[6]==0x2E && data[7]==0x34) // version is 1.4 ?
{
// file terminator
Assert.AreEqual(data[data.Length-6],0x25); // %
Assert.AreEqual(data[data.Length-5],0x25); // %
Assert.AreEqual(data[data.Length-4],0x45); // E
Assert.AreEqual(data[data.Length-3],0x4F); // O
Assert.AreEqual(data[data.Length-2],0x46); // F
Assert.AreEqual(data[data.Length-1],0x0A); // EOL
return;
}
Assert.Fail("Unsupported file format");
}