我正在尝试通过查找模型的postalValue进行查询,但是出现的错误是说没有方法 find()。
下面是从数据库查询时遇到的错误。
modelInstance.find({postalValue:123344})。then(model => ^ TypeError:modelInstance.find不是函数 在对象。 (/用户/ biswajeet /文档/webdriverio-test-framework/src/vendor/dataTest.js:44:15) 在Module._compile(内部/模块/cjs/loader.js:701:30) 在Object.Module._extensions..js(内部/模块/cjs/loader.js:712:10) 在Module.load(internal / modules / cjs / loader.js:600:32) 在tryModuleLoad(内部/模块/cjs/loader.js:539:12) 在Function.Module._load(内部/模块/cjs/loader.js:531:3) 在Function.Module.runMain(内部/模块/cjs/loader.js:754:12) 在启动时(internal / bootstrap / node.js:283:19) 在bootstrapNodeJSCore(internal / bootstrap / node.js:622:3)
const modelInstance = new RegisterModel({
cred: {
nameValue: 'Sample',
emailValue: 'sample@gmail.com',
passwordValue: 'sample122',
},
location: {
addressValue: 'sample address',
cityValue: 'sample',
stateValue: 'sample',
postalValue: 123344,
},
card: {
cardName: 'Sample',
cardNumber: 231232143,
securityCode: 131,
expirationMonth: 1,
expirationYear: 2022,
},
})
modelInstance.save(function (err) {
console.log('@@@@@ Inside the callback ', err);
if (err) {
console.log('the error is ', err);
}
console.log('saved the model instance @@@@@@');
console.log(modelInstance, '@@@@@Helllo@@@@@');
});
modelInstance.find({postalValue: 123344 }).then(model=>
console.log('model@@@',model)
)
答案 0 :(得分:2)
在猫鼬中,您必须执行buttonContainer
,因为RegisterModel.find()
是modelInstance
的实例,而RegisterModel
查询是在模型而不是模型实例上进行的。 find()
和findOne
同样适用。
但是对于findById
,请使用save
,因为您实际上是在保存更新的数据。因此,如果该文档的至少一个属性被修改,这也将迫使mongodb更新记录的版本值,即modelInstance.save
。