آموزش جاوااسکریپت انجمن ها Nodejs ذخیره اعداد فارسی مثلا قیمت کالا در MongoDb پاسخ به: ذخیره اعداد فارسی مثلا قیمت کالا در MongoDb

#58391
b b
مشارکت کننده

سلام
استاد من در دوره node.js شما که نگاه کردمُ شما مثلا در فیلم ادیت کردن کورس قیمت رو به انگلیسی 100 وارد کردین
بهمین خاطر من نمیدونم نحوه درست ‌ذخیره کردن اعداد فارسی در mongoDb چطوره
مثلا
۱. وقتی input type=text میدم امکان تایب کردن اعداد فارسی با کیبورد استاندارد هست ولی وقتی type=number میکنم دیگه input عدد فارسی نمیگیره
۲. وقتی از ریکت با initial value یا کیبورد استاندارد فارسی یک عدد فارسی مانند قیمت کالا رو به server با const { data } = await axios.post(‘/api/create-product’, {…values,}) میفرستم
خطای زیر رو میده

Error: Product validation failed: price: Cast to Number failed for value “۱۲۳۰۰۰” (type string) at path “price”, quantity: Cast to Number failed for value “۱۸” (type string) at path “quantity”
at ValidationError.inspect (D:\DigiHealthNext34\server\node_modules\mongoose\lib\error\validation.js:47:26)
at internal/per_context/primordials.js:23:32
at formatValue (internal/util/inspect.js:783:19)
at Object.inspect (internal/util/inspect.js:337:10)
at Object.Ps (D:\DigiHealthNext09\server\node_modules\esm\esm.js:1:197271)
at Object._s (D:\DigiHealthNext09\server\node_modules\esm\esm.js:1:197659)
at Object.<anonymous> (D:\DigiHealthNext09\server\node_modules\esm\esm.js:1:199551)
at Object.apply (D:\DigiHealthNext09\server\node_modules\esm\esm.js:1:199341)
at Object.[nodejs.util.inspect.custom] (D:\DigiHealthNext09\server\node_modules\esm\esm.js:1:203936)
at internal/per_context/primordials.js:23:32
at formatValue (internal/util/inspect.js:783:19)
at inspect (internal/util/inspect.js:337:10)
at formatWithOptionsInternal (internal/util/inspect.js:2016:40)
at formatWithOptions (internal/util/inspect.js:1898:10)
at console.value (internal/console/constructor.js:323:14)
at console.log (internal/console/constructor.js:358:61) {
errors: {
price: CastError: Cast to Number failed for value “۱۲۳۰۰۰” (type string) at path “price”
at SchemaNumber.cast (D:\DigiHealthNext34\server\node_modules\mongoose\lib\schema\number.js:373:11)
at SchemaNumber.SchemaType.applySetters (D:\DigiHealthNext34\server\node_modules\mongoose\lib\schematype.js:1123:12)
at model.$set (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:1279:20)
at model.$set (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:1023:16)
at model.Document (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:148:12)
at model.Model (D:\DigiHealthNext34\server\node_modules\mongoose\lib\model.js:105:12)
at new model (D:\DigiHealthNext34\server\node_modules\mongoose\lib\model.js:4706:15)
at create (D:\DigiHealthNext38\server\controllers\product.js:28:27)
at Layer.handle [as handle_request] (D:\DigiHealthNext34\server\node_modules\express\lib\router\layer.js:95:5)
at next (D:\DigiHealthNext34\server\node_modules\express\lib\router\route.js:137:13)
at isSeller (D:\DigiHealthNext34\server\middlewares\index.js:16:7)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
stringValue: ‘”۱۲۳۰۰۰”‘,
messageFormat: undefined,
kind: ‘Number’,
value: ‘۱۲۳۰۰۰’,
path: ‘price’,
reason: AssertionError [ERR_ASSERTION]: false == true
at castNumber (D:\DigiHealthNext34\server\node_modules\mongoose\lib\cast\number.js:28:10)
at SchemaNumber.cast (D:\DigiHealthNext34\server\node_modules\mongoose\lib\schema\number.js:371:12)
at SchemaNumber.SchemaType.applySetters (D:\DigiHealthNext34\server\node_modules\mongoose\lib\schematype.js:1123:12)
at model.$set (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:1279:20)
at model.$set (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:1023:16)
at model.Document (D:\DigiHealthNext34\server\node_modules\mongoose\lib\document.js:148:12)
at model.Model (D:\DigiHealthNext34\server\node_modules\mongoose\lib\model.js:105:12)
at new model (D:\DigiHealthNext34\server\node_modules\mongoose\lib\model.js:4706:15)
at create (D:\DigiHealthNext38\server\controllers\product.js:28:27)
at Layer.handle [as handle_request] (D:\DigiHealthNext34\server\node_modules\express\lib\router\layer.js:95:5) at next (D:\DigiHealthNext34\server\node_modules\express\lib\router\route.js:137:13)
at isSeller (D:\DigiHealthNext34\server\middlewares\index.js:16:7)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
generatedMessage: true,
code: ‘ERR_ASSERTION’,
actual: false,
expected: true,
operator: ‘==’
},
valueType: ‘string’
},
quantity: CastError: Cast to Number failed for value “۱۸” (type string) at path “quantity”