如何在模式更改之后从mongo获取旧logging
我有一个现有的模式
exports.OldCollectionSchema= new Schema({ Id: { type: Schema.ObjectId }, parentId: { type: Schema.ObjectId }, userId: { type : String }, userName: { type : String })
现在,我通过添加一个新的字段type
来减less在两种情况下使用上述集合
types将是情景a或情景b
所以我想获取旧的logging+ type =“场景a”,并显示在一个页面
这怎么可能 ?
我相信mongoose有一个__v
字段表示版本,但我不是mongoose专家,所以我只会粘贴你可以做的简单的哈希查询:
db.col.find({type: {$exists: false, $in: ['a']}});
这将基本上说: “获取他们还没有一个场景(基本上是这个模式之前的那些)的所有logging,并将它们与具有types”a“的那些相结合
编辑
其实更好的方法就是在这里使用null
:
db.col.find({type: {$in: ['a', null]}});