【发布时间】:2018-03-13 12:21:30
【问题描述】:
我正在尝试从 mongoDB 导出数据
mongoexport -d MY_DB_NAME -u DB_USER -p _REDACTED_ -c person \
-q "{ '$and':[ { 'hasActiveAck':{ '$ne':false }}, { 'creationDate':{'$gte': new Date(1506816000), '$lte': new Date(1509404400)} }]}" \
--fields '_id,email' --type=csv --out people_oct.json
问题是这会提取 0 行
如果我调用这个查询
db.getCollection('person')
.find({
$and:[
{
hasActiveAck:{
$ne:false
}
},
{
creationDate:{
$gte:new Date(1506816000) ,
$lte:new Date(1509408000)
}
}
]
}).count();
结果是0 行
但如果我使用 ISODate 而不是这样的 Date 运行查询:
db.getCollection('person')
.find({
$and:[
{
hasActiveAck:{
$ne:false
}
},
{
creationDate:{
$gte:ISODate("2017-10-01T00:00:00.000Z") ,
$lte:ISODate("2017-10-31T00:00:00.000Z")
}
}
]
}).count();
结果是 58k+ 行
我做错了什么?
一些细节:
mongoexport --version
mongoexport version: r3.2.11
git version: 45418a84270bd822db0d6d0c37a0264efb0e86d2
Go version: go1.7
os: linux
arch: amd64
compiler: gc
OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
mongo --version
MongoDB shell version: 3.0.14
mongod --version
db version v3.0.14
【问题讨论】:
-
你的目标是什么??导出数据?或使用
$gte:new Date(...? -
我正在尝试导出数据
-
您检查过@JiříPospíšil 解决方案吗?不适合你??
-
我做到了,但还是没有运气
标签: mongodb date aggregation-framework mongoexport isodate