2017-02-05 2 views
0

я работаю на commenting system saved into Mongo, который предполагает следующую структуру:Сохранить Монго ObjectId в другой документ

{ 
    _id: ObjectId(...), 
    discussion_id: ObjectId(...), 
    slug: '34db', 
    posted: ISODateTime(...), 
    author: { 
       id: ObjectId(...), 
       name: 'Rick' 
      }, 
    text: 'This is so bogus ... ' 
} 

Я хотел бы сохранить author.id как ObjectId от пользователя комментирования, у меня есть это значение в request req.user._id

Какой тип данных мне нужно, чтобы дать модель моего комментария, чтобы принять это значение?

Я пробовал:

const authorSchema = new Schema({ 
    id: ObjectId, 
    username: String 
}); 

Но это дает ReferenceError: ObjectId is not defined

Я вижу ObjectId listed as a valid Schema type Однако появляется только тогда, когда генерируется автоматически.

Каков правильный способ хранения user._id ObjectId внутри комментария как author.id, ИЛИ есть ли лучший способ хранить ссылку целиком?

ответ

1

Значит, вам нужно определить ObjectId в файле схемы, получив его от Mongoose.

const mongoose = require('mongoose'); 
const Schema = mongoose.Schema; 
const ObjectId = Schema.Types.ObjectId; 

Там есть полный пример выполнения ссылки в документации here

+0

Да, спасибо! –

Смежные вопросы