Я вставляю массовые записи в mongodb. Для этого я использую драйверы родных БД, так как производительность намного выше. В других случаях в моем приложении я использую мангуст. Проблема, с которой я сталкиваюсь, заключается в том, что mongoose переводит дату в другой формат, тогда как mongodb native просто вставляет ее как количество секунд с 1970 года. Поэтому более поздние запросы в мангусте, основанные на этой дате, не работают.mongodb date insert как использовать mongoose
Вот мой мангуст схема:
var MySchema = new Schema({
name : { type: String, required: true },
updatedAt : Date
});
И мой Монго дб масса вставки:
var newRec = {
name : entry.Name,
updatedAt : Date.now
};
newRecords.push(newRec);
MySchema.collection.insert(newRecords, function(err, newRecs) {
res.json(newRecs.ops);
});
Это создает в БД:
{
"_id": {
"$oid": "562818ecf24d540f0053a38d"
},
"name": "Cool Record",
"updatedAt": 12312423512
}
Принимая во внимание, если он был запущен через Мангуста он будет производить:
{
"_id": {
"$oid": "561fd90285b5e73f5626f74e"
},
"name": "Cool Record",
"updatedAt": {
"$date": "2015-10-20T20:01:17.553Z"
}
}
Если происходит через мангуста, запросы, чтобы эта работа также:
MySchemda.find({ updatedAt : { $gt: lastSynced }}).exec();
Но не работают иначе.