如何为日期2013-01-14提取(查找)标签?
db.test1.insert(
{
date: Date("2013-01-14"),
name: "Roma",
tags: [{Python:14,Ruby:10,C:4}]
}
)
我尝试提取当前日期的所有信息,但即使这个请求也不起作用:
db.test1.find({date:Date("2013-01-14")})
答案 0 :(得分:1)
mongo shell使用ISODate帮助程序包装Date类型的对象,但对象仍为 Date 类型。因此,在MongDB中插入日期时,您可以使用
ISODate()
构造函数,它使用 ISODate()
包装器而不是 Date()
方法返回Date对象将当前日期作为字符串返回。
查询时,使用新的 Date()
构造函数,该构造函数使用ISODate()包装器返回Date对象,以获取可在查询中使用的日期对象,请注意,JavaScript日期对象月份是从零开始的索引,因此1月在构造函数参数中具有值0。
<强>插入强>:
db.test1.insert({
"date": ISODate("2013-01-14"),
"name": "Roma",
"tags": [
{ "Python": 14, "Ruby": 10, "C": 4 }
]
})
<强>查询强>:
var myDateObj = new Date(2013, 0, 14) // JavaScript Date object months are zero based index
db.test1.find({ "date": myDateObj }, {"_id": 0, "tags": 1})
<强>结果强>:
/* 0 */
{
"tags" : [
{
"Python" : 14,
"Ruby" : 10,
"C" : 4
}
]
}