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

Mongoose String til ObjectID

Du vil bruge standardeksporten:

import mongoose from 'mongoose';

Derefter mongoose.Types.ObjectId vil virke:

import mongoose from 'mongoose';
console.log( mongoose.Types.ObjectId('578df3efb618f5141202a196') );

EDIT: fuldstændigt eksempel (testet med [email protected] ):

import mongoose from 'mongoose';

mongoose.connect('mongodb://localhost/test');

const Schema = mongoose.Schema;

var comments = new Schema({
    user_id:  { type: Schema.Types.ObjectId, ref: 'users',required: [true,'No user id found']},
    post: { type: Schema.Types.ObjectId, ref: 'posts',required: [true,'No post id found']}
});

const commentsModel = mongoose.model("comments", comments);

let comment = new commentsModel;
let str = '578df3efb618f5141202a196';
comment.user_id = str;
comment.post = str;
comment.save().then(() => console.log('saved'))
              .catch(e => console.log('Error', e));

Databasen viser dette:

mb:test$ db.comments.find().pretty()
{
    "_id" : ObjectId("578e5cbd5b080fbfb7bed3d0"),
    "post" : ObjectId("578df3efb618f5141202a196"),
    "user_id" : ObjectId("578df3efb618f5141202a196"),
    "__v" : 0
}


  1. docker-compose:Redis forbindelse nægtet mellem containere

  2. Mongoose returnerer altid et tomt array NodeJS

  3. Kør et R-script ved opstart

  4. Installation af Redis på CentOS 8