MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Създайте MongoDB ObjectID от дата в миналото с помощта на PHP драйвер

В момента драйверът на PHP няма вградена функционалност за това, __set_state(), който другият споменат отговор е само за възможността да десериализира идентификатора на сесия и не ви позволява да го създавате чрез конкретните компоненти.

Ще трябва да направите следното, за да създадете автоматично идентификатор:

<?php
function createId( $yourTimestamp )
{
    static $inc = 0;

    $ts = pack( 'N', $yourTimestamp );
    $m = substr( md5( gethostname()), 0, 3 );
    $pid = pack( 'n', posix_getpid() );
    $trail = substr( pack( 'N', $inc++ ), 1, 3);

    $bin = sprintf("%s%s%s%s", $ts, $m, $pid, $trail);

    $id = '';
    for ($i = 0; $i < 12; $i++ )
    {
        $id .= sprintf("%02X", ord($bin[$i]));
    }
    return new MongoID($id);
}

var_dump( createId( time() ) );
?>


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да клонирате база данни Mongodb с Mongoose

  2. как да актуализирате вложен обект на mongoose документ само за предоставени ключове

  3. Изображението не се изобразява от пътя на динамичното изображение, докато се използва експресен html-pdf пакет

  4. Неуспешно удостоверяване на Python Pymongo

  5. Node + Mongodb + сортиране на вложен масив