我有以下模式:
User: {
age: Number,
name: String,
comments: {
added: Date,
body: String
}
}
我需要得到所有用户,与评论添加大于自定义日期。
示例数据:
[{
"name": "John",
"age: 21,
"comments": [{
"added": 21-01-12,
"body": "blabla1"
}, {
"added": 21-02-12,
"body": "blabla2"
}, {
"added": 21-01-10,
"body": "blabla3"
}]
}, {
"name": "Bruno",
"age: 33,
"comments": [{
"added": 21-01-10,
"body": "ololo1"
}, {
"added": 21-02-12,
"body": "ololo2"
}, {
"added": 21-01-09,
"body": "ololo3"
}]
}]
我需要所有评论大于01-01-11
且评论小于此日期的所有用户。
预期结果:
{
"name": "John",
"age: 21,
"comments": [{
"added": 21-01-12,
"body": "blabla1"
}, {
"added": 21-02-12,
"body": "blabla2"
}]
}, {
"name": "Bruno",
"age: 33,
"comments": [{
"added": 21-02-12,
"body": "ololo2"
}]
}
我该怎么做呢?
要筛选Mongoose(和mongo)中的日期字段,需要使用$gte、$gt、$lte、$lte。在您的特定示例中,您需要$gte(大于或等于)
所以,如果您的模型是User.find({comments.added:{$gte:newdate(2011,1,1)}),函数(err,comments){
});
除非有一些原因,我可能会建议你更喜欢更准确的ISODate,你也可以这样做来过滤条目
每小时英里数
const findQuery = [
{$unwind: "$comments" },
{$match: {"comments.added": {$gt: lastUpdate} } },
{$group: {_id: "$_id", comments: {$push: "$comments"} } }
];
User.aggregate(findQuery)
如何使用匹配数组的多个值从集合中获取对象。例如:我收集了以下数据
我想选择仅在顶级国家/地区之后或仅在其他国家/地区之后的span元素 我已经尝试了 如果我分别尝试这两种XPATH,它们都可以工作,但如果结合使用,它们就不起作用。 我只想选择排名靠前的国家,并将其列入一个列表:,然后过滤掉其他国家。 如果我使用[text()=“Top Countries”]//以下同胞::span所有国家都被选中。例如,<代码>[“澳大利亚”、“几内亚比绍”、“西班牙”、“瑞士
问题内容: 我喜欢使用jq过滤json文件: 给定json包含对象数组: 我想过滤该列表以仅显示ID值为2和4的元素,因此预期的输出为: 如何使用jq过滤json?我玩过select和map,但是没有任何一个可以使用,例如: 问题答案: 从文档: 输入项 输出量 我认为您可以执行以下操作:
问题内容: 我在这里看到了很多关于这个问题的答案,但是我还是不明白(也许是因为他们使用了更多“复杂”的例子)……所以我试图做的是为“客户”建立一个模式将具有两个具有嵌套“子字段”的字段,其他字段可能重复。这是我的意思: 电话 和 电子邮件 可能是一个数组。和地址将不会重复,但是您会看到一些子字段。 我该如何工作? 问题答案:
问题内容: 知道如何在Mongoose模式中为Tree文档建模吗? 一个人怎么能这样呢?整个树是一个文档(理想情况下)。 问题答案: 来自https://groups.google.com/forum/#!topic/mongoose- orm/0yUVXNyprx8 : 通过设计,它可能会起作用。没有测试。为此,我在那里产生了递归引用: 因此,您需要逐步构造递归。
问题内容: 我有两个阵列。我正在用PubSidebar过滤基于groupKey。 如果父母重视:日记或存款或任何价值或角色:公共,我在传递内容数组内的对象时遇到问题。我必须在基于的内容数组中传递值。 如果存在Journals and Deposits,则在内容数组内添加Journals and Deposit数据,包括公共数据。(三个对象) 如果存在Journals,则将Contents数组内的J