vhl*_*len 48 javascript mongodb aggregation-framework
我想在JavaScript中将ObjectID(Mongodb)转换为String.当我从一个对象形式MongoDB.它就像一个对象有:timestamp,second,inc,machine.我无法转换为字符串.
小智 72
试试这个:
objectId.str;
Run Code Online (Sandbox Code Playgroud)
见文档.
Sam*_*aye 21
这是将ObjectId
in转换为字符串的工作示例
> a=db.dfgfdgdfg.findOne()
{ "_id" : ObjectId("518cbb1389da79d3a25453f9"), "d" : 1 }
> a['_id']
ObjectId("518cbb1389da79d3a25453f9")
> a['_id'].toString // This line shows you what the prototype does
function () {
return "ObjectId(" + tojson(this.str) + ")";
}
> a['_id'].str // Access the property directly
518cbb1389da79d3a25453f9
> a['_id'].toString()
ObjectId("518cbb1389da79d3a25453f9") // Shows the object syntax in string form
> ""+a['_id']
518cbb1389da79d3a25453f9 // Gives the hex string
Run Code Online (Sandbox Code Playgroud)
尝试了各种其他功能,如toHexString()
没有成功.
Kar*_*kus 15
在壳中
ObjectId("507f191e810c19729de860ea").str
在js中使用节点的本机驱动程序
objectId.toHexString()
小智 8
实际上,你可以试试这个:
> a['_id']
ObjectId("518cbb1389da79d3a25453f9")
> a['_id'] + ''
"518cbb1389da79d3a25453f9"
Run Code Online (Sandbox Code Playgroud)
ObjectId对象+ String将转换为String对象.
使用 toString:
var stringId = objectId.toString()
适用于最新的 Node MongoDB Native 驱动程序 (v3.0+):
http://mongodb.github.io/node-mongodb-native/3.0/
您可以使用$toString
mongodb 4.0版中引入的聚合,它将 ObjectId 转换为字符串
db.collection.aggregate([
{ "$project": {
"_id": { "$toString": "$your_objectId_field" }
}}
])
Run Code Online (Sandbox Code Playgroud)
在服务器中:ObjectId(507f191e810c19729de860ea)._str
.
在模板中:{{ collectionItem._id._str }}
.
小智 6
在 Javascript 中,String() 使这一切变得简单
const id = String(ObjectID)
Run Code Online (Sandbox Code Playgroud)
假设OP想要获取ObjectId的十六进制字符串值,使用Mongo 2.2或更高版本,该valueOf()
方法将对象的表示形式返回为十六进制字符串.这也是通过str
财产实现的.
anubiskong的帖子上的链接提供了所有细节,这里的危险是使用从旧版本改变的技术,例如toString()
.
这是可行的,你有 mongodb 对象:ObjectId(507f191e810c19729de860ea)
,要获取 的字符串值_id
,你只需说
ObjectId(507f191e810c19729de860ea).valueOf();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
61438 次 |
最近记录: |