我想返回给定url参数" id"是文档ID的上部集合。 有了这个,我的意思是,例如我给出一个12位数的参数,例如928106329281,并且它应该返回所有带有_id的文档,当除以1.000.000时,这个数字作为前缀,例如928106329281293222,928106329281123125等。
我试着为此写一个函数:
var calcID = function(demo_id) {
var found = DemoCollection.find({}).where((_id /1000000) == demo_id)
return found;
}
但我怀疑这是否有效,不知何故,我想我不能在静态函数中做计算,比如哪,是真的吗?我是否必须使用聚合框架,如果是这样,该函数将如何显示?
我不知道聚合管道中的正确分段顺序是什么样的,例如我应该首先使用基于某些计算添加的自定义字段来执行$ addFields,还是首先执行$ match,并在匹配阶段进行计算?或者我会在$ project阶段进行计算并将其命名为某个自定义字段,然后根据字段名称进行匹配阶段?
计算本身看起来像这样:
var calcID = function(demo_id) {
FlexPotenzial.aggregate([ {
$addFields: {subID: {"$eq": [{"$trunc": {"$divide": ["$_id", 1000000]}},+demo_id]}}},{"$match":{subID:true}}
])}
顺便问一下......愚蠢的问题:我怎样才能找到找到的文件?我的功能会是什么样的?我会做一个]).then(docs => {...do something...}
??
我怎么知道返回的是什么...一个游标对象?一个简单的javascript对象直接使用?我对这些javascript回调样式有很多问题..我需要帮助
就像我说的那样,我不确定将上述计算表达式放在何种阶段...