sql >> Database >  >> NoSQL >> MongoDB

Hoe converteer je een string naar ObjectId in nodejs mongodb native driver?

met ObjectId (document voor nodejs-stuurprogramma)

Als u een tekenreeks hebt die een BSON ObjectId vertegenwoordigt (bijvoorbeeld ontvangen van een webverzoek), moet u deze converteren naar een ObjectId-instantie:

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. De standaard beloftebibliotheek van Mongoose is verouderd in MEAN-stack

  2. Maak een tekstindex met verschillende veldgewichten in MongoDB

  3. Mongoose verbinding

  4. Verlaag de score in Redis of verwijder indien 0