プロパティタイプを変更した後、任意の要素を見つけることができません。マングースは、私はもともとこれらの2つのスキーマ持っ
var UserSchema = new Schema({
first: String,
last: String
});
var SaleSchema = new Schema({
createdAt: Date,
registeredBy: { type: Schema.ObjectId, ref: 'User' }
});
をしかし、私は代わりにIDのユーザー名を保存するために、私のSaleSchemaを編集したいので、私はそれを変更しました:
var SaleSchema = new Schema({
createdAt: Date,
registeredBy: String
});
次に、私はすべての販売文書を編集し、ユーザーのフルネームのためregisteredBy上のユーザーIDを交換したかったが、私は昔のIDのためfind
クエリを実行することができるように見えることはできません。
かいつまんで、このクエリはマングースに全くマッチを返しませんが、それは完全にモンゴコンソールを使用して動作します:
マングース
Sale.find({ registeredBy: '57ea0cbb47431f0b43b87d42' })
.then(results => res.json(results))
.catch(err => res.status(500).json(err));
// result: []
MongoDBのコンソール
db.sales.find({ registeredBy: '57ea0cbb47431f0b43b87d42' })
// result: 8 elements
私を変更した後スキーマのプロパティをObjectIdに戻すと、mongooseクエリが再び機能します。私は新しいデータ型に移行する必要があるので、両方の型の値をクエリして格納できるようにしたい。これは可能ですか?