我有一个像
这样的现有架构exports.OldCollectionSchema= new Schema({
Id: { type: Schema.ObjectId },
parentId: { type: Schema.ObjectId },
userId: { type : String },
userName: { type : String })
现在,我通过添加新字段type
类型将是场景a或场景b
所以我想获取旧记录+ type =“scenario a”并在页面中显示
怎么可能?
答案 0 :(得分:2)
我相信Mongoose有__v
字段表示版本,但我不是Mongoose专家所以我只是粘贴你可以做的简单hacky查询:
db.col.find({type: {$exists: false, $in: ['a']}});
这基本上会说:“获取他们还没有场景的所有记录(基本上是这个架构之前的那些)并将它们与那些具有'a'类型的那些记录结合起来/ EM>
实际上更好的方法就是在这里使用null
:
db.col.find({type: {$in: ['a', null]}});