You are here

public function MigrateSourceMongoDB::getMongoId in Migrate 7.2

Check if given document id is a mongo ObjectId and return mongo ObjectId or simple value.

Parameters

mixed $document_id: Document key value.

array $keys: List of keys.

Return value

type

1 call to MigrateSourceMongoDB::getMongoId()
MigrateSourceMongoDB::performRewind in plugins/sources/mongodb.inc
Implementation of MigrateSource::performRewind().

File

plugins/sources/mongodb.inc, line 154
Define a MigrateSource for importing from MongoDB connections

Class

MigrateSourceMongoDB
Implementation of MigrateSource, to handle imports from MongoDB connections.

Code

public function getMongoId($document_id, $keys) {
  if ($keys[0]['name'] != '_id') {
    switch ($keys[0]['type']) {
      case 'int':
        return (int) $document_id;
        break;
      default:
        return $document_id;
    }
  }

  // Trying create Mongo ObjectId
  $mongoid = new MongoId($document_id);

  // If (string) $mongoid == $document_id we return $mongoid object
  if ((string) $mongoid == $document_id) {
    return $mongoid;
  }
  return $document_id;
}