我很難得到此代碼的工作。我有一個聚合查詢mongo數據庫女巫我做了一些內部操作。沒有$ ifNull操作符的查詢工作正常,但即時通訊獲得一些空值,我不想打印。我已閱讀$ ifNull操作符的文檔,但我無法獲得此代碼的工作。我有這樣的代碼,到目前爲止,女巫給我這個錯誤:如何更改使用MongoDB的聚合中的空值
SyntaxError: Unexpected token :
我認爲這是「:」從IFNULL,但我不知道爲什麼。我正在關注官方網站上的文檔中的sintax。我也試圖使用另一個項目字段來過濾空值,但它沒有奏效。 這也是迄今爲止德查詢:
db.cleandrivers.aggregate(
[
{
$project :
{ _id:"$_id",
week : {$week : "$recruiter.date"},
dif: {
$ifNull: [$divide : [{$subtract : ["$personal.stat.first_inspected","$recruiter.date"]} , 1000 * 60 * 60 ], "0"]
}
}
}, { $match : { week: 11 } }
])
編輯:一切正常,這是實際工作計數招募PPL的特定周給人的查詢。
db.cleandrivers.aggregate(
... [
... {
... $project :
... { _id:"$_id",
... week : {$week : "$personal.stat.recruited"}
... }
... },
... { $match : { $and: [ {week: 10}] } },
... {$group: { _id: "Sum",sum: {$sum : 1}}} ])
輸出:
{ "_id" : "Sum", "sum" : 199 }
這是我的文檔sintax:
"personal" : {
"stat" : {
"recruited" : ISODate("2015-02-02T14:30:32.089Z"),
"first_inspected" : ISODate("2015-02-02T14:33:15.956Z"),
"targo" : ISODate("2015-02-06T17:51:00.672Z")
}
的問題是,當我使用,我用同樣的查詢時,我試圖算招募它給我一個錯誤,因爲有一些文件沒有這個字段。我真的很困惑,我該如何篩選所有文檔中first_inspected字段的文檔,並將它們統計爲一週。 錯誤發生在$周線女巫試圖將空日期轉換爲一週,它給了我一個錯誤。
我編輯我的問題,添加我的實際錯誤的一些細節。我遇到了一些文檔在日期字段上有空值的問題,我不能聚合它們。 (我想排除和計算只存在於特定字段中的那些) – Giuseppe 2015-04-01 17:32:44
我錯誤地編輯了您的答案,您是否可以刪除我的編輯以便其他人可以看到您的答案? – Giuseppe 2015-04-01 17:40:43