如何使用Parse Server获取MongoDB现有集合数据并解决users未定义报错
Parse Server读取现有MongoDB集合报错解决方案
直接报错原因
你出现users is not defined报错的核心原因是Parse.Query的入参要求为字符串形式的类名,你没有给users加引号,JavaScript会将其识别为未声明的变量,自然抛出未定义错误。
完整修正方案
- 第一步:修改
Parse.Query的入参,将users改为字符串格式
如果你是要读取自己创建的独立users集合,修正语法后的代码如下:var query = new Parse.Query("users"); query.find().then((data) => { // 此处处理拿到的用户数据 return data; }).catch((error) => { // 此处处理异常逻辑 return error; }); - 第二步:适配现有MongoDB集合的对接规则
如果修改引号后仍然无法正常拿到数据,需要检查以下Parse Server配置项:- 确认Parse Server的
collectionPrefix配置为空,或者你的集合名前缀和配置的前缀一致 - 如果你的
users集合没有objectId、createdAt、updatedAt等Parse默认要求的系统字段,需要提前在Parse Dashboard中定义好users类的字段映射,或者开启allowClientClassCreation配置允许Parse自动适配Schema
- 确认Parse Server的
- 特殊场景说明:如果你要对接的是Parse内置的用户体系,不需要自定义
users集合,直接使用内置类查询即可,代码如下:
该场景下Parse Server会自动映射到MongoDB中内置的var query = new Parse.Query(Parse.User); // 后续查询逻辑不变_User集合。
内容的提问来源于stack exchange,提问作者Code The World
相关产品推荐
相关产品推荐

