如何在 MongoDB 中找到“$oid”而不是 _id?
How do I find "$oid" in MongoDB instead of _id?
我正在尝试在 MongoDB 中进行查找搜索,我只想 return 作为字符串的 objectId,但我得到的是:
[
{
"_id": {
"$oid": "6114ffebae76283ccfb92c44"
}
}
[
我要:
[
{
"$oid": "6114ffebae76283ccfb92c44"
}
]
这是我的查询:
db.person.find(
{ $and: [{"age":20},{"name":"Frank"}] }, {"_id":1}
)
您可以应用 $toString
来获取所需格式的 ID。
db.collection.find({},
{
"_id": {
$toString: "$_id"
}
})
但是您不能使用 $oid
作为字段名称,因为它是保留关键字。
您可以使用聚合:
db.collection.aggregate([
{
$project: {
_id: {
$toString: "$_id"
}
}
}
])
这里可以测试一下(我把_id的名字设置为id)
https://mongoplayground.net/p/xdw3PpiwYId
db.person.find({
$and: [
{
"age": 20
},
{
"name": "Frank"
}
]
},
{
"id": {
$toString: "$_id"
},
"_id": 0
})
我正在尝试在 MongoDB 中进行查找搜索,我只想 return 作为字符串的 objectId,但我得到的是:
[
{
"_id": {
"$oid": "6114ffebae76283ccfb92c44"
}
}
[
我要:
[
{
"$oid": "6114ffebae76283ccfb92c44"
}
]
这是我的查询:
db.person.find(
{ $and: [{"age":20},{"name":"Frank"}] }, {"_id":1}
)
您可以应用 $toString
来获取所需格式的 ID。
db.collection.find({},
{
"_id": {
$toString: "$_id"
}
})
但是您不能使用 $oid
作为字段名称,因为它是保留关键字。
您可以使用聚合:
db.collection.aggregate([
{
$project: {
_id: {
$toString: "$_id"
}
}
}
])
这里可以测试一下(我把_id的名字设置为id)
https://mongoplayground.net/p/xdw3PpiwYId
db.person.find({
$and: [
{
"age": 20
},
{
"name": "Frank"
}
]
},
{
"id": {
$toString: "$_id"
},
"_id": 0
})