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

Mảng tổng hợp MongoDB với hai trường

Sử dụng bản đồ của con trỏ tổng hợp ( ) phương thức trả về một mảng ObjectIds như sau:

var pipeline = [
    {$match: {warehouse_sku: /^1\_/}},
    {$group: { "_id": "$_id" } }
],
list_products = db.getCollection('products')
                  .aggregate(pipeline)
                  .map(function(doc){ return doc._id });

find () của con trỏ map () cũng sẽ hoạt động ở đây:

var query = {'warehouse_sku': /^1\_/},
    list_products = db.getCollection('products')
                      .find(query)
                      .map(function(doc){ return doc._id });

CẬP NHẬT

Trong pymongo, bạn có thể sử dụng lambda chức năng với chức năng bản đồ. Bởi vì bản đồ mong đợi một hàm được truyền vào, nó cũng là một trong những nơi mà lambda thường xuyên xuất hiện:

import re
regx = re.compile("^1\_", re.IGNORECASE)
products_cursor = db.products.find({"warehouse_sku": regx})
list_products = list(map((lambda doc: doc["_id"]), products_cursor))



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dữ liệu mùa xuân MongoDB:Chuyển đổi BigInteger thành ObjectId

  2. Khi nào một tài liệu được thêm vào bộ sưu tập MongoDB

  3. Mongodb bị lỗi với quyền truy cập không hợp lệ tại địa chỉ - tín hiệu lỗi phân đoạn 11 - phiên bản 2.6

  4. Cài đặt MongoDB với Homebrew

  5. Tạo phương pháp cập nhật và lưu tài liệu với mongoose?