Je veux convertir ObjectID (Mongodb) en String en JavaScript . Lorsque j'obtiens un formulaire Object MongoDB. c'est comme si un objet avait: timestamp, second, inc, machine ..__ Je ne peux pas convertir en chaîne.
Voici un exemple pratique de conversion de ObjectId
dans une chaîne
> a=db.dfgfdgdfg.findOne()
{ "_id" : ObjectId("518cbb1389da79d3a25453f9"), "d" : 1 }
> a['_id']
ObjectId("518cbb1389da79d3a25453f9")
> a['_id'].toString // This line shows you what the prototype does
function () {
return "ObjectId(" + tojson(this.str) + ")";
}
> a['_id'].str // Access the property directly
518cbb1389da79d3a25453f9
> a['_id'].toString()
ObjectId("518cbb1389da79d3a25453f9") // Shows the object syntax in string form
> ""+a['_id']
518cbb1389da79d3a25453f9 // Gives the hex string
A essayé diverses autres fonctions comme toHexString()
sans succès.
Actuellement, vous pouvez essayer ceci:
> a['_id']
ObjectId("518cbb1389da79d3a25453f9")
> a['_id'] + ''
"518cbb1389da79d3a25453f9"
ObjectId object + String sera converti en objet String.
Sur le serveur: ObjectId(507f191e810c19729de860ea)._str
.
Dans le modèle: {{ collectionItem._id._str }}
.
En supposant que l'OP souhaite obtenir la valeur de chaîne hexadécimale de l'ObjectId, en utilisant Mongo 2.2 ou une version ultérieure, la méthode valueOf()
renvoie la représentation de l'objet sous forme de chaîne hexadécimale. Ceci est également réalisé avec la propriété str
.
Le lien sur le post d’anubiskong donne tous les détails, le danger ici est d’utiliser une technique qui a changé par rapport aux versions antérieures, par exemple. toString()
.
cela fonctionne, vous avez l'objet mongodb: ObjectId (507f191e810c19729de860ea), pour obtenir la valeur de chaîne de _id, vous dites simplement ObjectId (507f191e810c19729de860ea) .valueOf ();
Utilisez toString: var stringId = objectId.toString()
Fonctionne avec le dernier pilote Node MongoDB Native (v3.0 +):
Il suffit d'utiliser ceci: _id.$oid
Et vous obtenez la chaîne ObjectId. Cela vient avec l'objet.
Vous pouvez utiliser $toString
agrégation introduit dans la version de mongodb 4.0 qui convertit l'ObjectId en chaîne
db.collection.aggregate([
{ "$project": {
"_id": { "$toString": "$your_objectId_field" }
}}
])