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

nama bidang batchSize diabaikan dalam Proyeksi Bidang

Anda benar bahwa driver salah mengartikan ini sebagai batchSize pilihan dan mengabaikan pernyataan proyeksi.

Cara yang benar untuk melakukan ini meskipun dalam rilis driver modern adalah dengan benar-benar menggunakan .project() "metode kursor" sebagai gantinya. Ini lebih konsisten dengan implementasi driver bahasa lainnya.

    db.collection('collection').find()
      .project({ name: 1, batchSize: 1})
      .toArray();

Sebagai demonstrasi penuh:

const mongodb = require('mongodb'),
      MongoClient = mongodb.MongoClient;


(async function() {

  let db;

  try {
    db = await MongoClient.connect('mongodb://localhost/test');

    // New form uses .project() as a cursor method
    let result = await db.collection('collection').find()
      .project({ name: 1, batchSize: 1})
      .toArray();

    console.log(JSON.stringify(result,undefined,2));

    // Legacy form confuses this as being a legacy "cursor option"
    let other = await db.collection('collection')
      .find({},{ name: 1, batchSize: 1 })
      .toArray();

    console.log(JSON.stringify(other,undefined,2));

  } catch(e) {
    console.error(e)
  } finally {
    db.close()
  }

})()

Menghasilkan output:

[
  {
    "_id": "594baf96256597ec035df23c",
    "name": "Batch 1",
    "batchSize": 30
  },
  {
    "_id": "594baf96256597ec035df234",
    "name": "Batch 2",
    "batchSize": 50
  }
]
[
  {
    "_id": "594baf96256597ec035df23c",
    "name": "Batch 1",
    "batchSize": 30,
    "users": []
  },
  {
    "_id": "594baf96256597ec035df234",
    "name": "Batch 2",
    "batchSize": 50,
    "users": []
  }
]

Di mana formulir keluaran pertama adalah yang dikoreksi, menggunakan .project()



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengatasi kurangnya transaksi di MongoDB?

  2. Perbedaan antara menyimpan ObjectId dan bentuk stringnya, di MongoDB

  3. MongoDB $mod

  4. Desain Skema MongoDB:Selalu Ada Skema

  5. Cara Mengabaikan Kesalahan Kunci Duplikat dengan Aman Menggunakan insert_many