Saya mendapat masalah yang sangat aneh di sini, saya dapat menyimpan data melalui luwak tetapi tidak dapat melakukan kueri. Ini kodenya:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const CategorySchema = new Schema({
store : {type: String, required: true, unique: true},
categories : [{
parent : String,
name : String,
}],
});
CategorySchema.index({store: 1, update_at: -1});
module.exports = mongoose.model('Category', CategorySchema);
Ketika saya mencoba melakukan kueri, saya mendapatkan kesalahan ini:
(node:7412) UnhandledPromiseRejectionWarning: Penolakan janji yang tidak tertangani (id penolakan: 1): ValidationError: CastError: Cast to String gagal untuk nilai "{ _id: 58dd019b1a06731b0990b878, store: 'Store-Name-Here', kategori: [], __v: 0 }" di jalur "toko"
Saya mendapatkan skema yang sangat mirip untuk koleksi lain, semuanya berfungsi dengan baik tetapi tidak untuk yang ini.
Inilah cara saya melakukan kueri:
Category.findOne({store: 'Store-Name-Here'}).exec().then(result => console.log(result), err => console.log(err));
Dan
Category.find().exec(function(err, result) {
if (err)
return next(err);
console.log(result);
})
Category.findOne({store: "Store"}).then(store => {/*something here*/}, err => {/*err here*/});
, dan periksa apa yang terjadi - person Sravan   schedule 30.03.2017'Store-Name-Here'
atau bahkan penanganan panggilan balik api yang berhasil - person Sravan   schedule 30.03.2017-
(tanda hubung) - person Sravan   schedule 30.03.2017Category.findOne({store: 'Store-Name-Here'}).exec().then(result => { console.log(result);}, err => next(err));
, cukupconsole.log(result)
dan periksa apakah kesalahan masih berlanjut - person Sravan   schedule 30.03.2017success
atauerror
? - person Sravan   schedule 30.03.2017'Store-Name-Here'
secara harfiah nilai yang Anda tanyakan, atau apakah Anda meneruskan semacam variabel yang berisi string itu? Sepertinya Anda meneruskan dokumen Mongoose alih-alih string. Juga, apakah Anda memiliki hook/middleware untuk modelCategory
? - person robertklep   schedule 30.03.2017store
dokumen adalah objek, bukan string? - person robertklep   schedule 30.03.2017exec()
, coba dua fungsi panggilan balik untuksuccess
danerror
. seperti,function(){}
- person Sravan   schedule 31.03.2017db.categories.find({ store: 'Store-Name-Here' })
(atau bahkan, jika hanya ada sedikit dokumen di database,db.categories.find()
) - person robertklep   schedule 31.03.2017