MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Dorong nilai baru ke array dalam mongodb - mongodb/php

Karena tidak satu pun dari jawaban ini yang benar-benar memberi tahu Anda apa yang salah di sini ...

$conn = new Mongo();
$q = $conn->server->gameQueue;
$id = new MongoId("4d0b9c7a8b012fe287547157");
$q->update(array("_id"=>$id),array('$push' => array("done_by","2")));

Ada masalah dengan $push . Anda pernyataan, Anda tidak mendorong "done_by" dengan nilai "2" Anda sebenarnya mengirim "done_by" dan "2" ...

Inilah masalahnya ...

array('$push' => array("done_by","2"))

Ini harus memiliki => bukan ,

array('$push' => array("done_by" => "2"))

Namun, perhatikan bahwa setiap kali Anda menjalankan ini, itu akan menyisipkan "2" lain jika Anda ingin MongoDB hanya memasukkan "2" jika belum ada di "done_by" maka Anda harus menggunakan $addToSet ...

array('$addToSet' => array("done_by" => "2"))

Pernyataan ini tidak akan bertambah 2 setiap kali, hanya pertama kali.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $setDifference

  2. $project:Apakah mungkin untuk mengakses properti dari hasil ekspresi hanya dalam satu tahap?

  3. Bagaimana cara mendapatkan semua model luwak?

  4. MongoDB - Menghapus Dokumen

  5. Replika MongoDB diatur dengan otentikasi kata sandi sederhana