String yang Anda presentasikan adalah kueri shell mongodb. String ini berisi tipe data spesifik shell mongodb, dan karena itu hanya dapat digunakan di dalam shell mongodb. Anda tidak dapat mengurai atau mengevaluasi kueri ini di lingkungan (javascript) yang berbeda, karena tidak JSON yang valid. Oleh karena itu, eval
, atau JSON.parse
bahkan tidak akan berfungsi, karena tipe data tertentu.
Jika Anda ingin membuat serial kueri mongodb untuk penggunaan di lingkungan yang berbeda, Anda dapat menggunakan MongoDB Extended JSON.
https://docs.mongodb.org/v3.0/ referensi/mongodb-extended-json/
Ini adalah JSON standar yang dapat berisi tipe data mongodb. Permintaan Anda akan seperti ini di JSON diperpanjang MongoDB.
{
"_id": {
"$oid": "536b07935c89be214c000009"
},
"date": {
"$date": "2012-12-19T06:01:17.171Z"
},
"mail": {
"$regex": "test",
"$options": "i"
}
}
Jika Anda ingin mengurai atau mengevaluasi string seperti ini untuk meneruskannya ke driver mongodb node.js, Anda perlu menggunakan library untuk menghapus serial ini ke objek Node.js MongoDB Driver yang tepat.
Anda dapat menggunakan perpustakaan ini untuk melakukannya:
https://www. npmjs.com/package/mongodb-extended-json
Anda juga dapat menggunakan perpustakaan ini di browser Anda untuk membuat kueri. Atau Anda dapat membuat kueri mongodb secara manual.
Saya tidak mengetahui paket plugin/npm yang memungkinkan Anda mengonversi kueri shell mongodb ke MongoDB Extended JSON secara otomatis. Anda dapat mencoba mengonversinya secara otomatis dengan menerapkan beberapa jenis sendiri ( ISODate, ObjectId ). Namun Anda tidak akan pernah memiliki kompatibilitas penuh antara shell mongodb dan driver mongodb nodejs, banyak metode memiliki tanda tangan dan tipe pengembalian yang berbeda, kursor bekerja secara berbeda, dll...
Ada juga proyek ini, sebuah alternatif untuk driver mongodb nodejs yang didukung secara resmi, yang mencoba meniru shell sedikit lebih banyak jika Anda benar-benar menghargainya, tetapi itu tidak akan membantu Anda dengan permintaan spesifik Anda, Anda masih perlu mengonversi itu.
https://docs.mongodb.org/ecosystem/ driver/node-js/