Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否基于BSON date属性删除?_Javascript_Mongodb_Mongodb Query - Fatal编程技术网

Javascript 是否基于BSON date属性删除?

Javascript 是否基于BSON date属性删除?,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,是否可以基于BSON日期的属性在Mongo中执行条件删除?我正在尝试这样做: db.events.remove( { StartTime.getDay() : { $ne : "1" } } ) 我知道我可以将一天复制到一个新属性中,但我有超过700万条记录,如果可能的话,我更愿意评估这个“在线”。感谢您抽出时间来帮助我(请注意,这是我使用mongo的第一天)。示例文档如下所示: > db.events.findOne() { .. "_id" : ObjectId("53f4fceee

是否可以基于BSON日期的属性在Mongo中执行条件删除?我正在尝试这样做:

db.events.remove( { StartTime.getDay() : { $ne : "1" } } )
我知道我可以将一天复制到一个新属性中,但我有超过700万条记录,如果可能的话,我更愿意评估这个“在线”。感谢您抽出时间来帮助我(请注意,这是我使用mongo的第一天)。示例文档如下所示:

> db.events.findOne()
{
..
"_id" : ObjectId("53f4fceeec3ef1e91d997d8d"),
"StartTime" : ISODate("2014-07-22T04:59:52Z") 
..
}
Dan

有一个查询表单,它对JavaScript求值进行操作。它是一种有效的查询形式,但自然不能使用索引,因为计算是在JavaScript代码中进行的

db.collection.remove(函数(){返回this.StartTime.getDay()!=1});
这是
$的简写形式,其中
的形式较长,可与其他运算符组合:

db.collection.remove({“$where”:function(){返回this.StartTime.getDay()!=1});

对于shell,它可以只是一个代码对象,对于其他语言,它通常是一个字符串。

谢谢您的帮助,尼尔。我实际上遇到了类似的问题。我无法在this.StartTime.getDay()上选择。您的示例仅在此.StartTime上选择。我基本上想删除任何不是一个月的第一天的文档。以下是我尝试做的要点:@dps这是一个打字错误。我的意思是调用函数,这是关键。您可以通过JavaScript评估来实现这一点,因为在聚合框架之外没有内置的操作符。当然不会删除匹配的文件Neil Lunn谢谢你先生。这起作用了。remove({$where:function(){return(this.StartTime.getDay()==this.StartTime.getDay())});