我有一个名为Dealers的MongoDB数据库集合,结构有点像这样:
{
... dealer info goes here like address etc,
"user_logins": [
{
"Username": "something",
... other stuff
}
]
},{
... next dealer etc...
我正在使用Mongoose尝试查询USER_LOGINS。Username使用如下代码:
Mongoose 模型
const myTest = mongoose.Schema({
Username: {
type: "String",
required: true
}
}, { collection: "Dealers" })
module.exports = mongoose.model("Dealer", myTest);
该查询
Dealer.find({'user_logins.Username' : 'something'}, (err, result) => {
if (err) {
console.log(err);
} else {
res.json(result);
}
});
所有用户名都是不同的。但它似乎并没有返回一个匹配的文档,而是返回了整个Dealers集合。
我遵循了这个例子。
https://kb.objectrocket.com/mongo-db/use-mongoose-to-find-in-an-array-of-objects-1206
请问我做错了什么?
谢谢。
编辑:如果我试图在根级别上找到一些东西,这似乎是很好的。例如。公司名称、地址等。但如果我试图查询嵌入的对象数组,它就会拉出整个集合。我还是不明白。
1条答案
按热度按时间kpbwa7wx1#
找到了答案。我的模型错了。它需要反映我的数据的实际结构,这确实有一定的意义。
这招奏效了: