我试图在不获取ObjectId部分的情况下从集合中获取_id
。
当我尝试以这种方式查询时:
db.collection.aggregate([
{'$unwind': '$_id'},
{
'$project': {
'_id': '$_id'
}
}
])
返回:
ObjectId("51234yhf789")
ObjectId("51234dff779")
ObjectId("51234yhf745")
ObjectId("51234dff123")
ObjectId("51234d45123")
即使我尝试:'_id': '$_id'.valueOf()
,我也会得到同样的东西。
如何获取:
51234yhf789
51234dff779
51234yhf745
51234dff123
51234d45123
需要MongoDB V3.6及以下版本的帮助
在MongoDB版本>4.0
上,您可以使用$toString将ObjectId()
转换为字符串:
db.collection.aggregate([
{'$unwind': '$_id'},
{
'$project': {
'_id': {$toString : '$_id' }
}
}
])