我在nodeJS上使用Mongoose,我在MongoDB中有以下模式:
var users = new Schema({
local: {
user_uuid: String
,user_name: String
,password: String
,email: String
,connectionKey: String
}
});
我正在以下列方式导出架构:
module.exports.users = mongoose.model('users',users);
这是我的发现:
var AllSchemas = require('../schemas/schemas');
...
AllSchemas.users.find({ user_uuid: doctorId},function(err,obj){
...
}
但是我发现找不到用户。 如果我从文字对象“本地”中取出所有参数,它将起作用 我想知道如何在文字对象中找到东西。
答案 0 :(得分:0)
您需要使用dot notation覆盖查询中的嵌入文档内部:
AllSchemas.users.find({ 'local.user_uuid': doctorId }, function(err,obj) {
...
}
答案 1 :(得分:0)
在引用架构中的子对象时,应使用引号内的点表示法。 请参阅以下链接以获取有关点符号的更多信息
http://docs.mongodb.org/manual/core/document/#document-dot-notation
在您的情况下,您应该使用:
AllSchemas.users.find({' local.user_uuid':doctorId},function(err,obj){ ... }
此查询将返回user_uuid等于doctorId的所有文档。