从MongoDB中获取不带ObjectId的_id。

问题描述 投票:1回答:1

我正试图获得 _id 在没有得到ObjectId部分的情况下,从一个集合中查询。

当我尝试用这种方式查询时。

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 mongodb-query pymongo id objectid
1个回答
0
投票

在MongoDB版本> 4.0 你可以使用 $toString 转换 ObjectId() 变成字符串。

db.collection.aggregate([
    {'$unwind': '$_id'}, 
    {
        '$project': {
            '_id': {$toString : '$_id' }
        }
    }
])
© www.soinside.com 2019 - 2024. All rights reserved.