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

Array Agregat MongoDB dengan Dua Bidang

Gunakan kursor agregasi peta( ) metode untuk mengembalikan array ObjectIds sebagai berikut:

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

find() map() akan bekerja di sini juga:

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

PERBARUI

Di pymongo, Anda dapat menggunakan lambda fungsi dengan fungsi peta. Karena map mengharapkan suatu fungsi untuk diteruskan, itu juga merupakan salah satu tempat di mana lambda muncul secara rutin:

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. Bagaimana cara menjalankan perintah pencarian teks lengkap di MongoDB dengan Java Driver?

  2. Otentikasi Java/Mongodb

  3. Proyeksi bersyarat di mongodb menggunakan c# driver

  4. Pengecualian Mongo

  5. Bagaimana cara mengubah string dengan karakter di int untuk seluruh koleksi?