Post Parse 平台上带有 ObjectId 的新记录

Post new record with ObjectId on Parse platform

我正在尝试使用 objectId(投诉一)将新记录插入解析平台 table。

但是当我 POST 调用时:

curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \ 
-H "X-Parse-Master-Key: ${MASTER_KEY}" \
-H "Content-Type: application/json" \
-d '{"objectId": "xdH402yd9z", "field": "testData"}' $URL

post 失败:{"code":105,"error":"objectId is an invalid field name."}

如何插入具有现有 objectId 的记录?

注意:我插入的数据与我之前从解析服务器中获取的数据基本相同,但有一些小的变化。

谢谢。

默认禁用自定义 objectId。您需要在服务器上启用 customObjectId。根据您启动服务器的方式,您可以在 app.js:

中尝试类似下面的操作
const api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.PARSE_SERVER_CLOUD || __dirname + '/cloud/main.js',
  appId: process.env.PARSE_SERVER_APPLICATION_ID || 'myAppId',
  masterKey: process.env.PARSE_SERVER_MASTER_KEY || '',
  //readOnlyMasterKey: process.env.PARSE_SERVER_READ_ONLY_MASTER_KEY,
  encryptionKey: process.env.PARSE_SERVER_ENCRYPTION_KEY,
  objectIdSize: parseInt(process.env.PARSE_SERVER_OBJECT_ID_SIZE) || 10,
  serverURL: process.env.PARSE_SERVER_URL || 'http://localhost:' +process.env.PORT + '/parse',
  publicServerURL: process.env.PARSE_PUBLIC_SERVER_URL || 'http://localhost:' +process.env.PORT + '/parse',
  allowCustomObjectId: true, // Here's what you need to enable

你可以在这里看到一个完整的例子:https://github.com/netreconlab/parse-hipaa/blob/parse-swift/parse/index.js

你也可以设置环境变量:

PARSE_SERVER_ALLOW_CUSTOM_OBJECT_ID = 1