cari

Rumah  >  Soal Jawab  >  teks badan

MongoDB怎样批量执行命令?

目前已经找到一种方法,但是该方法存在问题,即无法有效处理文档过长的情况。

db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'光华街(十四中家属楼)','jd':'内蒙古自治区呼和浩特市新城区'})
db.area.insert({'number':'010010','province':'内蒙古自治区','city':'呼和浩特市','disc':'新城区','addr':'兴安南路','jd':'内蒙古自治区呼和浩特市新城区'})

cat mon | /usr/local/mongodb/bin/mongo localhost/zip --shell

当insert的文档过长时,该方法会报错,显示unexpected token ILLEGAL和unexpected identifier。但是在Robomongo中执行同样的命令则没有问题。

因为需要批量处理的是insert和update混合的命令,且涉及多个集合,因此无法使用mongoimport。

使用环境为linux

天蓬老师天蓬老师2804 hari yang lalu679

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-04-24 09:12:43

    Tulis semua kod yang akan dilaksanakan terus ke dalam fail all.js, dan kemudian gunakan mongo localhost/zip all.js untuk melaksanakannya.

    balas
    0
  • 高洛峰

    高洛峰2017-04-24 09:12:43

    Jawapan @Huan Du ialah menggunakan mod skrip MongoDB Shell. Perlu diingatkan bahawa ini sedikit berbeza daripada arahan memasukkan terus dalam Shell Sebagai contoh, show dbs tidak boleh digunakan kerana ia bukan bahasa Javascript yang sah . Untuk contoh lain, pertanyaan mengembalikan Kursor dan bukannya memaparkan terus 20 dokumen pertama. Akan ada mesej ralat, seperti ralat sintaks.

    Lihat di sini untuk dokumentasi khusus
    Skrip MongoDB
    Tulis Skrip untuk Shell mongo
    JavaScript sisi pelayan

    balas
    0
  • Batalbalas