mongo 上的 $out 命令正在创建一个空集合
$out comand on pymongo is creating an empty collection
我有以下 python 代码:
import pymongo
connection_string = 'mongodb://localhost'
connection = pymongo.MongoClient(connection_string)
database = connection.solutions
pipe = [
{
"$match": {
"metrictimestamp": {"$gte": "2018-02-01T00:00:00.000+00:00", "$lte": "2018-02-01T23:59:59.000+00:00"}
}
},
{"$out": "day"}
]
database.solution3.aggregate(pipe,allowDiskUse=True)
但是“day”集合是空的,我做错了吗?
查询是创建一个包含特定日期文档的集合
您正在根据
进行字符串比较
如果字段 metricTimestamp
是整数或长整数,则使用 new Date("2018-02-01T00:00:00Z").getTime()
。另一个领域也是如此。
如果字段的类型为 date
,请使用 new Date()
不带时间方法的变体。
如果字段是字符串类型,使用$dateFromString
使用这个:
{
"$match": {
"metrictimestamp": {
"$gte": ISODate("2018-02-01T00:00:00Z"),
"$lte": ISODate("2018-02-01T23:59:59Z")
}
}
}
我有以下 python 代码:
import pymongo
connection_string = 'mongodb://localhost'
connection = pymongo.MongoClient(connection_string)
database = connection.solutions
pipe = [
{
"$match": {
"metrictimestamp": {"$gte": "2018-02-01T00:00:00.000+00:00", "$lte": "2018-02-01T23:59:59.000+00:00"}
}
},
{"$out": "day"}
]
database.solution3.aggregate(pipe,allowDiskUse=True)
但是“day”集合是空的,我做错了吗?
查询是创建一个包含特定日期文档的集合
您正在根据
如果字段 metricTimestamp
是整数或长整数,则使用 new Date("2018-02-01T00:00:00Z").getTime()
。另一个领域也是如此。
如果字段的类型为 date
,请使用 new Date()
不带时间方法的变体。
如果字段是字符串类型,使用$dateFromString
使用这个:
{
"$match": {
"metrictimestamp": {
"$gte": ISODate("2018-02-01T00:00:00Z"),
"$lte": ISODate("2018-02-01T23:59:59Z")
}
}
}