2015-12-23 131 views
0

我正在尋找一種方法將日期合併到Mongodb聚合管道的$ out階段中創建的集合名稱中。
像這樣的東西(但不工作)

db.sales.aggregate([{$project: {account_number:1}},  
{$out: "new_collection" + Date()}]); 

這將返回下面的錯誤;

第2階段的規範包含無效JSON:意外的字符 '+' 在行1,列18

有誰知道我能做到這一點?

+0

創建查詢時只需插入'$ out'集合名稱。 – nvartolomei

+1

「它不起作用」是什麼意思?你有任何錯誤信息?或者只是沒有任何事情發生? –

+0

我從示例語法添加了錯誤消息。 – SteveO7

回答

2

Date()返回一個長的字符串版本的日期,其中可能包含不能在集合名稱中使用的字符。例如:

'Wed Dec 23 2015 22:47:53 GMT-0600 (Central Standard Time)' 

所以,你可能想使用類似Date.now()相反,它返回一個毫秒計像1450932419617將在一個集合名稱的工作。

{$out: "new_collection" + Date.now()} 

給你一個有效的集合名稱,如'new_collection1450932419617'

+0

工作正常!謝謝你的幫助! – SteveO7