sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur konverterar man en sträng till ObjectId i nodejs mongodb inbyggd drivrutin?

med ObjectId (nodejs drivrutinsdokument)

När du har en sträng som representerar ett BSON ObjectId (mottaget från en webbförfrågan till exempel), måste du konvertera den till 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. Bild som returneras från REST API visas alltid trasig

  2. MongoDB med Mongoid in Rails - Geospatial Indexing

  3. MongoDB databas schema design

  4. Hur man skalar SignalR med Azure Worker Role och OWIN