sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose String till ObjectID

Du vill använda standardexporten:

import mongoose from 'mongoose';

Efter det, mongoose.Types.ObjectId kommer att fungera:

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

EDIT: fullständigt exempel (testat 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 visar detta:

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


  1. Hur kan du ta bort alla dokument från en samling med Mongoose?

  2. mongoose save vs insert vs create

  3. Grunderna för att distribuera en MongoDB Replica Set och Shards med Puppet

  4. Är skillnaden mellan två listor igen?