2015-12-23 96 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