Javascript MongoDB:为什么';这个存储的JS函数是否返回一个值?
考虑这个虚拟函数:Javascript MongoDB:为什么';这个存储的JS函数是否返回一个值?,javascript,mongodb,stored-procedures,stored-functions,Javascript,Mongodb,Stored Procedures,Stored Functions,考虑这个虚拟函数: db.system.js.save({ _id:"findId", value:function(){ var doc = db.test.find({"_id": "1"}) return doc['_id'] } }) 运行它时,我没有得到任何回报 但是,如果我只返回db.test.find({“\u id”:“1”})我就得到了文档 有什么区别
db.system.js.save({
_id:"findId",
value:function(){
var doc = db.test.find({"_id": "1"})
return doc['_id']
}
})
运行它时,我没有得到任何回报
但是,如果我只返回db.test.find({“\u id”:“1”})
我就得到了文档
有什么区别
更广泛的问题:我可以在服务器端执行任意JS代码吗?
例如,我想检索一个文档并使用一些if-else逻辑db.test.find({u id:“1”})
返回Promise
,在返回数据之前不必等待它的解析。因此,当您返回doc[''u id']
时,doc
是未定义的。因此,您应该在承诺解析后返回该值。您可以这样做:
db.test.find({"_id": "1"}).then((document) => {
return document .id;
})