itzhar
itzhar

Reputation: 13041

Parse dashboard - objectId must be a string: ObjectIdHex("56eac5ea1ac8242012ae4ed9")

Recently i migrated all my parse data to MongoLab. i'm saving documents (parse object) directly to mongoDb using MongoClient.save(...), and not using parse SDK.

now mongo generate auto id, in my case - '56eac5ea1ac8242012ae4ed9', and parse dashboard not show any row in this class till i delete this object (document) and i'm getting the next error: objectId must be a string: ObjectIdHex("56eac5ea1ac8242012ae4ed9")

enter image description here

  1. should i save id differently?
  2. how to convert my id to regular Parse object id? (if i reallty need it?)
  3. any solution?

I know parse dashboard is temporary, but right now it helps

Upvotes: 1

Views: 957

Answers (1)

Davi Macêdo
Davi Macêdo

Reputation: 2984

It occurs because by default Mongo create an ObjectId for each object stored in its collections. To overcome it, you have to order Mongo store your own generated Id.

You can do it by sending the _id property in your object that is being stored in Mongo. Something like this:

db.collection('_User').save({_id: yourid, ...})

You can generate any random string id, but it would be good to generate the _id as the same way Parse Server does. If you check Parse Server repository (https://github.com/ParsePlatform/parse-server/blob/master/src/cryptoUtils.js) you can find how the id is generated.

Anyway. There are solutions, like www.back4app.com, that already provides full hosting of both parse server, parse dashboard and database

--

Disclosure: I am founder of back4app.com

Upvotes: 2

Related Questions