Может ли объект MongoDB содержать только числа?Может ли объект MongoDB содержать только числа?
Существует кусок кода в библиотеке, что я использую, что делает следующее:
if (is_int($mixed) || ctype_digit($mixed)) {
return;
}
И в результате он выбрасывая запись в моей БД с ObjectId из «512417805115179054000022» потому что он содержит только числа.
Все остальные записи имеет ObjectId, содержащий по меньшей мере один альфа-символ, такой как «51241740511517a25b000017»
Это проблема с функцией, что она предполагает ObjectId никогда не может содержать только цифры, когда это на самом деле это возможно , или это проблема более низкого уровня с драйвером или чем-то, что создало ObjectId с только числовыми символами по ошибке?
http://docs.mongodb.org/manual/reference/object-id/ Пример, который вы опубликовали, отлично работает как ObjectId в оболочке MongoDB. Похоже на проблему с драйвером. – WiredPrairie
какую библиотеку вы используете? о, конечно, я вижу, что это CakePHP. –
Да, его CakePHP, хотя этот конкретный код находится в плагине datasource MongoDB https://github.com/ichikaway/cakephp-mongodb/ Я поместил запрос на втягивание, чтобы изменить это сейчас – user698883