【发布时间】:2017-11-06 10:37:28
【问题描述】:
首先我很抱歉,如果我没有使用正确的单词或者问题很愚蠢,我对此很陌生并且仍在学习,这次我无法通过搜索找到答案!
我有一个 MEAN 项目,我想从我的前端数据库中获取一个值(我使用 Angular 4)。所以我尝试在 Express 上编写一个函数,但事实是我不知道如何,因为我什至无法直接在 mongo 的命令行中获取值。
我的架构具有这种格式:
const userSchema = mongoose.Schema({
username: {
type: String,
required: true,
unique: true
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
item: {
item1: {
type: Number,
default: 0
},
item2: {
type: Number,
default: 0
},
item3: {
type: Number,
default: 0
}
}
});
想法是每个用户都有一个包含特定数量的每个项目的库存,我的目标是在使用项目名称进行请求时获取这个特定数量。
但我能做的最好的事情是 db.users.find({}, {item:1});有了它,我得到了带有它们的值的整个项目列表,我尝试的所有其他事情都让我出错。所以也许我的架构不对?
所以我的问题是: 知道我目前无法直接从 mongo 获取值,我如何才能通过将项目名称作为参数传递来仅使用 Express 获取项目值?
知道答案也将帮助我知道以后如何更改此值。
感谢您的阅读!
[编辑] 此主题被标记为与此主题重复: How to query nested objects?
但是我已经看到了另一个话题,所以是的,有:
db.users.find({ item : { item1 : "0" }}).count();
我可以得到值,但它对我一点帮助都没有,因为你必须写值才能得到值....但我想在不知道值的情况下进行查询,因为这个值会改变。
另外,我需要更多关于 Express 方面的建议。
谢谢。
【问题讨论】:
标签: mongodb express mongodb-query mean-stack database-schema