deb*_*eka 9 mongodb nosql objectid
我在MongoDB中有一个文档,我想得到这个文档的ObjectId,但到目前为止我还没有找到一个对我这样做的方法.
查询示例:
user= db.users.find({userName:"Andressa"})
Run Code Online (Sandbox Code Playgroud)
这返回:
{ "_id" : ObjectId("53b1c579bdf3de74f76bdac9"), "userid" : 0, "userName" : "Andressa", "userEmail" : "dessa_beca@hotmail.com", "teams" : [ 1, 2, 3 ] }
Run Code Online (Sandbox Code Playgroud)
我想让ObjectId做另一个查询.
例:
userID = `user._id();` //but this does not work, of course, its an example
Run Code Online (Sandbox Code Playgroud)
所以,我可以使用ObjectId来执行另一个查询,如下所示:
userFind = db.users.find({_id: userID})
Run Code Online (Sandbox Code Playgroud)
更新:此代码:
db.teams.find({_id:{$in: user.teams}})
Run Code Online (Sandbox Code Playgroud)
返回此错误:
error: {
"$err" : "Can't canonicalize query: BadValue $in needs an array",
"code" : 17287
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
在mongo shell中,您可以使用它来检索_id:
user._id.str
Run Code Online (Sandbox Code Playgroud)
要么
user._id.toString()
Run Code Online (Sandbox Code Playgroud)
请参阅文档:http : //docs.mongodb.org/manual/reference/method/ObjectId.valueOf/
我知道了!实际上,我可以通过以下代码做到这一点:
而不是只放:
user = db.users.findOne({userName:"And"})
Run Code Online (Sandbox Code Playgroud)
我只是:
var user = db.users.findOne({userName:"And"})
Run Code Online (Sandbox Code Playgroud)
和
user._id
Run Code Online (Sandbox Code Playgroud)
返回 ObjectId("someId") ,如果我想将它保留在某个变量中,我会这样做:
var Id = user._id.
Run Code Online (Sandbox Code Playgroud)
关于第二个问题,我不知道。
| 归档时间: |
|
| 查看次数: |
31845 次 |
| 最近记录: |