本文介绍了当我使用字符串文字时,mongoose findById起作用,但是当我引用Object的属性时,mongoose findById不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在猫鼬中遇到了一个非常奇怪的问题.
I'm having a really strange problem in Mongoose.
此行正确找到Round
:
models.Round.findById("555ec731385b4d604356d8e5", function(err, roundref){
console.log(roundref);
....
此行不
models.Round.findById(result.round, function(err, roundref){
console.log(roundref);
我已经在控制台上登录了result
,它显然是一个包含回合属性的对象:
I've console logged result
and it clearly is an object containing the property round:
{round: "555ec731385b4d604356d8e5", selection: 1, time: 20}
为什么findById
没有文字就不能工作?
Why won't findById
work without a literal?
推荐答案
如果result
是JSON字符串,则调用.round
将返回undefined
.
If result
is a JSON string, calling .round
would return undefined
.
尝试首先将JSON转换为javascript对象:
Try converting the JSON to a javascript object first:
result = JSON.parse(result);
models.Round.findById(result.round, function(err, roundref){
console.log(roundref);
这篇关于当我使用字符串文字时,mongoose findById起作用,但是当我引用Object的属性时,mongoose findById不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!