在mongoDB中的runCommand内设置日期时间
我对MongoDB的runCommand中的date和datetime有问题。它已将我的日期保存为空。我无法使用ISODate(),因为它给出了一个错误。变量$date没有向我显示错误,但它存储了空值 这是我从Java应用程序执行的mongoDB查询字符串:在mongoDB中的runCommand内设置日期时间,mongodb,datetime,mongodb-query,aggregation-framework,runcommand,Mongodb,Datetime,Mongodb Query,Aggregation Framework,Runcommand,我对MongoDB的runCommand中的date和datetime有问题。它已将我的日期保存为空。我无法使用ISODate(),因为它给出了一个错误。变量$date没有向我显示错误,但它存储了空值 这是我从Java应用程序执行的mongoDB查询字符串: { q: { 'person_id': '1003', 'authoriz.auth_id': { $ne: '1025' } }, u: { $addToSet: { 'authoriz': {
{
q: {
'person_id': '1003', 'authoriz.auth_id': { $ne: '1025' } },
u: {
$addToSet: {
'authoriz': {
'decision': "TRUE",
'start_date': { $date: "2018-02-09 00:00:00.0" },
'decision_id': 125,
'decision_dsc': "PERMITED",
'block_id': "1025"
}
},
$currentDate: {
'last_modified': true
}
},
multi: false,
upsert: false
}
在Java中:
DBObject dbObject = (BasicDBObject) JSON.parse(query);
CommandResult result =anyDB.command(dbObject);
它没有将“2018-02-09 00:00:00.0”值保存在“开始日期”字段中,而是存储了一个空值
您能帮助我如何设置查询字符串以保存日期吗?
是否还有其他选项可以选择如何将date与runCommand一起使用?您没有ISO投诉字符串,因此解析器返回null 使用ISO字符串就可以了。更多 差不多
"'start_date': { $date: \"2018-02-09T00:00:00.000Z\" }"
顺便说一句,命令是低级接口,您应该使用
DBCollection
中提供的update
,find和modify
等方法,以便可以操纵输入字符串以符合ISO 8601:“2018-02-09 00:00:00.0”。替换(“,”T”)。concat(“Z”)
您有机会验证答案吗?