У меня есть две схемы, использующие МангустMongoDb.js/Mongoose найти() перевести строку в ObjectId
Схема 1
var schema = mongoose.Schema({
name: {
type: String,
required: true
}
});
return mongoose.model('User', schema);
Схема 2
var schema = mongoose.Schema({
name: {
type: String,
required: true
},
user: {
type: mongoose.Schema.ObjectId,
ref: 'User',
required: true
}
});
return mongoose.model('Page', schema);
Мои Данные в подборке страниц
_id
551b0cdf63dc96e9c39de0f8
551b0d1563dc96e9c39de0f9
551b0d2d63dc96e9c39de0fa
551b0d4363dc96e9c39de0fb
551daae0f4cb312c62dcbc1e
имя
Cazaquistao
Россия
Китай
Австралия
Сальвадор
пользователь
5515c7aaaf6d59fea26d7185
5515c7aaaf6d59fea26d7185
5515c7aaaf6d59fea26d7185
5515c7aaaf6d59fea26d7185
5515c7c9af6d59fea26d7186
, когда я искать в схеме 2 пользователем, я не нашел каких-либо результатов.
Mongoose translate the mongoose ошибочно преобразует запрос.
Запрос
var test = Page.find().select("_id").where({"user" : "5515c7aaaf6d59fea26d7185"}).exec()
.then(function (t) {
console.log("hi", t);
});
запросов Перевод ошибочно
db.pages.find({ user: ObjectId("5515c7aaaf6d59fea26d7185") })
никаких результатов
запроса, как это должно быть
db.pages.find({ user: "5515c7aaaf6d59fea26d7185" })=
4 Результаты
Любые предложения о том, что нужно сделать, чтобы обойти эту проблему?
Нет, пользователь не делает строковый объект, но я думаю, что я знаю, что происходит. Коллекция была создана неправильно. – Thiago
Хорошо. Вероятно, лучше всего просто удалить вопрос. – JohnnyHK