假设我有两个集合/方案。一个是带有用户名和密码的用户架构字段,然后,我有一个博客架构,该博客架构在作者字段中引用了用户架构。如果我用猫鼬做类似的事情
Blogs.findOne({...}).populate("user").exec()
我将同时拥有Blog文档和用户,但是如何防止Mongoose / MongoDB返回密码字段?密码字段已散列,但不应返回。
我知道我可以省略密码字段,并在一个简单的查询中返回其余字段,但是我该如何用填充来做到这一点。另外,有什么优雅的方法吗?
另外,在某些情况下,我确实需要获取密码字段,例如当用户想要登录或更改密码时。
.populate('user' , '-password')
http://mongoosejs.com/docs/populate.html
JohnnyHK的使用Schema选项的答案可能是解决此问题的方法。
另请注意,query.exclude()
仅存在于2.x分支中。
问题内容: 我有要查询的模型(称为“活动”)(使用Mongoose)。他们的架构如下所示: 当我询问他们,我填充,,,和字段(所有引用)。在那之后,我也深入了这个领域。这是我的查询代码: 这已经是一个相对复杂的查询,但是我需要做更多。如果它碰到了声明的一部分,我 还 需要确保的字段等于字符串。我尝试使用,但是由于必须先填充事件,因此无法查询其任何字段。我还需要在其他多个查询中实现相同的目标。 如我
我只能通过包装每个where条件{'patient id':'123'},{'diet':{$elemmatch:{'status':'a'}}}来使它在Mongo shell中工作。 我如何强制Mongoose将每个查询字段括在花括号中或任何其他想法中?
我使用的是Spring boot 1.4.x分支和Spring Data MongoDB。 当我启动应用程序时,我会出现以下错误: 你知道吗?
学生拥有诸如 并且有这样的文档 还有一个名为“学生-课程”的第三个集合,我在那里保存了学生的id和他们相应的课程id。像这样
好吧,我有以下几个Shemas: 我想要的是让用户跟踪品牌,按品牌名排序,所以对于这样做,我对FollowAction进行查询,找到用户所做的所有FollowAction,然后填充brand字段。 所以问题是我不能为品牌名的查询排序,我知道的唯一方法是返回所有文档并从nodejs应用程序中对它们进行排序。有人知道我怎么能那样做吗??或者我是否应该改变shema结构?? 我所做的查询是:
userId是users集合中用户的_id字段。每个用户还有一个名字和一个电子邮件字段。 如何为ResearchThread.Pending.Collaborators对象数组中的每个用户将用户集合中的名称和电子邮件字段填充到此文档中?而且,当在模板中使用时,填充的数据会是反应性的吗?