我使用mongoose包在NodeJs中创建了一个简单的mongo模式。
var ProjectSchema = new Schema({
name: String,
author: {type: Schema.ObjectId, ref: 'User'},
description: String,
date: { type: Date, default: Date.now }
};
当我想测试帖子的作者是否是当前用户时,如果项目是在当前服务器会话上创建的(也就是没有重新启动),那么它将起作用。但是,如果我重新启动服务器,则Object Id's
不相等。
我该如何解决这个问题?
谢谢!
答案 0 :(得分:0)
将作者类型保留为String。 从会话中获取当前用户的数据后,即可执行
user._id.toString()
获取objectID的字符串表示形式,其中我的用户是dbObject。然后,您可以在ProjectSchema集合中查找此 id 以获取任何作者匹配