聚合后我得到了这个结果。 _id字段是每个类的id,我应用{$ group:{_ id:“$ _ id”,.....
[{ _id: 54c977314f5293b74ea54f96, subject: 'math' }, score: 73.5335 },
{ _id: 54c977314f5293b74ea54f96, subject: 'science' }, score: 56.2192 },
{ _id: 54c977314f5293b74ea54f96, subject: 'history' }, score: 82.8821 },
{ _id: 54c974bdff0d993b4ecf34ce, subject: 'math' }, score: 68.2598 },
{ _id: 54c974bdff0d993b4ecf34ce, subject: 'science' }, score: 77.8712 },
{ _id: 54c974bdff0d993b4ecf34ce, subject: 'history' }, score: 71.9218 },
... ]
问题是_id值不是字符串类型。因此,当我向客户端发送JSON时,它表示格式错误的JSON。
如何获取字符串类型_id?提前谢谢。
答案 0 :(得分:2)
不要自己形成JSON字符串。
使用JSON.stringify( output_from_aggregation )
。
但是,如果你不想这样做,那么就这样做。
"
)包裹的字符串,而不是单引号('
)。单引号中的字符串在JSON中无效。...
{ _id: 54c974bdff0d993b4ecf34ce, subject: 'science' }, score: 77.8712 },
...
...
{ _id: "54c974bdff0d993b4ecf34ce", subject: "science" }, score: 77.8712 },
...
更多信息:
答案 1 :(得分:1)
在您的情况下,_id是自动生成的,并且是BSON(二进制JSON)类型。 您可以手动选择_id作为String并写入其值。例如
db.collection.insert( { _id: "10", item: "box", qty: 20 } )
您可以在_id字段中查看文档以获取更多详细信息 http://docs.mongodb.org/manual/reference/method/db.collection.insert/