sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan konverteres en streng til ObjectId i nodejs mongodb native driver?

med ObjectId (nodejs driver doc)

Når du har en streng, der repræsenterer et BSON ObjectId (f.eks. modtaget fra en webanmodning), skal du konvertere den til en ObjectId-instans:

const {ObjectId} = require('mongodb'); // or ObjectID 
// or var ObjectId = require('mongodb').ObjectId if node version < 6

const updateStuff = (id, doc) => {
  // `ObjectId` can throw https://github.com/mongodb/js-bson/blob/0.5/lib/bson/objectid.js#L22-L51, it's better anyway to sanitize the string first
  if (!ObjectId.isValid(s)) {
    return Promise.reject(new TypeError(`Invalid id: ${id}`));
  }
  return collection.findOneAndUpdate(
    {_id: ObjectId(id)}, 
    {$set: doc}, 
    {returnOriginal: false}
  );
};


  1. MongoDB - Træk flere objekter fra et array

  2. Sådan sammenkædes strenge i SQL

  3. Hvilke sikkerhedsmekanismer har Meteor?

  4. Luk mongooses forbindelse korrekt, når du er færdig