it-swarm-id.com

Konversi string ke ObjectID di MongoDB

Saya sedang mengembangkan API menggunakan Codeigniter dan MongoDB. Di beberapa bagian database saya telah menyimpan ID gambar dalam format ObjectID Bukan string. Sekarang saya mendapat ID dalam format string dan saya harus meminta database menggunakannya.

Bagaimana saya bisa "mengubah" string menjadi ObjectID sehingga saya bisa melakukan kueri?

Dari ini:

34234234234234234234

Untuk ini:

ObjectID("34234234234234234234")

PERBARUI

Saya menemukan solusinya. Lakukan saja ini new MongoId('34234234234234234234');

16
Jonathan Clark

http://api.mongodb.org/Java/2.6.5/org/bson/types/ObjectId.html

Di sini, Anda dapat melihat bahwa ada ObjectId konstruktor dengan parameter String tunggal. Jadi, tidak bisakah itu berguna bagi Anda?

7

Anda hanya perlu membutuhkan fungsi ObjectId dari mongo Anda. 

ObjectId = require('mongodb').ObjectID;

Maka Anda dapat menggunakannya seperti itu: 

ObjectId("34234234234234234234")
20
julien bouteloup

Menggunakan luwak:

var mongoose = require('mongoose');
var objectId = mongoose.Types.ObjectId('569ed8269353e9f4c51617aa');

Menggunakan driver asli ( https://stackoverflow.com/a/21076589/3377073 )

var ObjectID = require('mongodb').ObjectID;
doc._id = new ObjectID(doc._id); // wrap in ObjectID
14

Jika Anda menggunakan Meteor

var id = new Mongo.ObjectID("34234234234234234234");
4
Alex K

atau penggunaan yang lebih baik

var mongodb = require(‘mongodb’); //this might have been defined at the beginning of your code.
//now use it
query = {_id:mongodb.ObjectId('569ed8269353e9f4c51617aa')};

dan sisanya sama.

0
Manna

anda sekarang dapat mengonversi string menjadi objectId pada mongodb 4.0 ke atas. ada fitur baru untuk mengkonversi dari string id ke objectId

di sini Anda dapat melihat dokumentasi $ toObjectId

0
Carlos