Mongodb将objectId作为字符串返回
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb将objectId作为字符串返回相关的知识,希望对你有一定的参考价值。
db.getCollection('User').find({
"userId" : ObjectId("5a141ac4048378xb52c3e5a9"),
"userRole" : "ADMIN",
"Id" : "1234567890"})
result:
{
"userId" : ObjectId("5a141ac4048378xb52c3e5a9"),
"userRole" : "ADMIN",
"Id" : "1234567890"
}
Expecting output:
{
"userId" : "5a141ac4048378xb52c3e5a9",
"userRole" : "ADMIN",
"Id" : "1234567890"
}
我是非常新的mongodb,他们将objectId作为String返回,我需要一些建议去做。
答案
可以使用以下方法简单地完成
db.User.find({"userId": objectId("5a141ac4048378ab52c3e5a9")}).map(
function(doc) {
return { "userId": doc.userId.str}
});
有关更多方法,请参阅ObjectId
另一答案
您可以尝试使用aggregation但是ObjectId不是字符串,它只是数字,为什么要将它呈现为字符串?
以上是关于Mongodb将objectId作为字符串返回的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB,将对象数组更改为包含其 ObjectId 的字符串数组
在 MongoDB 中存储和返回 ObjectId(MEAN 堆栈)
怎么判断mongodb objectid类型数据的值和某个字符串相等