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))