2

我有一个现有的架构,例如

exports.OldCollectionSchema= new Schema({
Id: { type: Schema.ObjectId },
parentId: { type: Schema.ObjectId },
userId: { type : String }, 
userName: { type : String })

现在,我想通过添加一个新字段在两个场景中使用上述集合type

类型将是场景 a 或场景 b

所以我想获取旧记录 + type = "scenario a" 并在页面中显示

这怎么可能 ?

4

1 回答 1

2

我确实相信 Mongoose 有一个__v表示版本的字段,但是我不是 Mongoose 专家,所以我将粘贴您可以执行的简单 hacky 查询:

db.col.find({type: {$exists: false, $in: ['a']}});

这基本上会说:“获取他们还没有场景的所有记录(基本上是这个模式之前的那些),并将它们与具有'a'类型的那些结合起来”

编辑

实际上更好的方法就是在null这里使用:

db.col.find({type: {$in: ['a', null]}});
于 2012-12-10T11:58:06.547 回答