#c# #mongodb
#c# #mongodb
Вопрос:
Проверяю документацию mongodb здесь . В нем говорится, что второй параметр BsonTimestamp равен
вторые 32 бита являются порядковым номером приращения для операций в течение данной секунды
Что я не очень хорошо понял.
Может кто-нибудь, пожалуйста, помочь мне понять, объяснив более подробно, что это значит?
Комментарии:
1. Второй параметр предназначен для указания дробной составляющей от миллисекунд до наносекунд.
2. О, хорошо, теперь я понимаю. Спасибо @Veeram
3. @Veeram откуда ты взял идею, что приращение составляет миллиметры или нанометры? И что будет определять, должно ли оно считываться как миллиметры или нанометры? кроме того, 2 ^ 31 равно > 2×10 ^ 9, поэтому целое число может превышать количество наносекунд за одну секунду
Ответ №1:
из «вторые 32 бита являются порядковым номером, увеличивающимся для операций в течение данной секунды» я понимаю, что это порядковый номер, используемый для различения событий, происходящих в течение одной секунды. Необязательно представлять какую-либо единицу времени o time.
Редактировать: я проверил исходный код Java-версии класса ObjectId, и inc — это простой счетчик в диапазоне 0x0 — 0x00ffffff. Поскольку это внутреннее представление, не следует рассуждать о нем.
Комментарии:
1. Интересно! Итак, я вижу, что приращение является параметром API драйвера, в этом смысле я не понимаю, как пользователь мог бы определить приращение, что бы это значило? Разве приращение не должно быть просто концепцией внутреннего ядра, которую сервер mongodb выполняет автоматически?
2. Извините, я перепутал два класса BsonTimestamp и ObjectId, которые оба используют одну и ту же концепцию метки времени и приращения. Тем не менее, верно, что приращение — это просто число, предоставляемое для различения событий в одну и ту же секунду «getInc(): @возвращает порядковый номер с увеличением для операций в течение данной секунды». Итак, я полагаю, что вы могли бы просто ставить 0 все случаи, когда у вас происходят события в разные секунды, или использовать счетчик, чтобы отличать, когда вы генерируете больше событий за секунду.