MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

nhận đối tượng mongodb _id sau khi upert bằng php

Có - Có thể sử dụng một truy vấn duy nhất.

MongoDB bao gồm một findAndModify lệnh có thể sửa đổi nguyên tử một tài liệu và trả lại nó (theo mặc định, nó thực sự trả về tài liệu trước khi nó được sửa đổi).

Trình điều khiển PHP không bao gồm một phương thức thuận tiện cho việc này trên lớp thu thập (chưa - hãy kiểm tra lỗi này), nhưng nó vẫn có thể được sử dụng (lưu ý rằng PHP của tôi rất tệ, vì vậy rất có thể tôi đã mắc lỗi cú pháp trong đoạn mã sau):

$key = array( 'something' => 'unique' );
$data = array( '$inc' => array( 'someint' => 1 ) );
$result = $mongodb->db->command( array(
    'findAndModify' => 'collection',
    'query' => $key,
    'update' => $data,
    'new' => true,        # To get back the document after the upsert
    'upsert' => true,
    'fields' => array( '_id' => 1 )   # Only return _id field
) );
$id = $result['value']['_id'];


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. tiếp tục trong cursor.forEach ()

  2. Làm cách nào để thực hiện truy vấn tổng hợp Mongo trong Dữ liệu mùa xuân?

  3. Chạy MongoDB với Ops Manager

  4. mongoose:tìm dữ liệu bằng cách lặp lại trên một mảng mô hình

  5. Làm thế nào bạn có thể chỉ định thứ tự của các thuộc tính trong một đối tượng javascript cho một chỉ mục MongoDB trong node.js?