我可以执行哪些操作来处理填充字段的空字符串? 由于一些错误,填充字段存储为空字符串,我不知道有多少填充字段存储为空字符串
因为我有一个很大的数据库,其中每个模型都有超过 2,00000 条记录,使用 Node.js 进行 mongoDB
当我尝试查询该文档时,我收到此错误,并且由于业务逻辑,我还需要显示该文档,因此我无法将该键作为这样的条件传递
const result = await Model.find({rpc_id: {$ne: ''}})
Something went wrong in paginateData method with error: CastError: Cast to ObjectId failed for value "" (type string) at path "_id" for model "rpc_credentials" error
[Caller: postMerchantTransactionList] : [24/4/2024, 9:40:22 am 93] : error : CastError: Cast to ObjectId failed for value "" (type string) at path "_id" for model "rpc_credentials"
at SchemaObjectId.cast (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schema/objectId.js:250:11)
at SchemaType.applySetters (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1221:12)
at SchemaType.castForQuery (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1636:17)
at /var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1597:18
at Array.map (<anonymous>)
at SchemaObjectId.handle$in (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1593:14)
at SchemaType.castForQuery (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1632:20)
at cast (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/cast.js:352:39)
at Query.cast (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/query.js:4778:12)
at Query._castConditions (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/query.js:2199:10) {
stringValue: '""',
messageFormat: undefined,
kind: 'ObjectId',
value: '',
path: '_id',
reason: BSONError: input must be a 24 character hex string, 12 byte Uint8Array, or an integer
at new ObjectId (/var/www/html/coinremmiter-admin/node_modules/bson/lib/bson.cjs:2288:23)
at castObjectId (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/cast/objectid.js:25:12)
at SchemaObjectId.cast (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schema/objectId.js:248:12)
at SchemaType.applySetters (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1221:12)
at SchemaType.castForQuery (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1636:17)
at /var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1597:18
at Array.map (<anonymous>)
at SchemaObjectId.handle$in (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1593:14)
at SchemaType.castForQuery (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/schemaType.js:1632:20)
at cast (/var/www/html/coinremmiter-admin/node_modules/mongoose/lib/cast.js:352:39),
valueType: 'string',
model: Model { rpc_credentials }
}
那我现在该怎么办
我想为所有存储空字符串的填充字段存储空值
尝试一下!
const result = wait Model.find({ rpc_id: { $ne: null } });