我想创建“服务器端功能”根据autoincrement tutorial(自定义JS功能蒙戈DB加载)。 主要思想是具有函数getNextSequence(collectionName),该函数返回此collection的自动增量id。诀窍是为每个收藏分别收集“计数器”和文档,该文档保存自动增量状态。呼叫功能插入
反正,我已经创建并加载在蒙戈该功能,它通过蒙戈外壳很好地工作:
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
这也从通过的NodeJS EVAL工作:
db.eval('getNextSequence(\'test\')', function(err, result){...});
但我不能当从NodeJS插入时,如何在文档中内联使用它。 我不能写:
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
,因为这会期望getNextSequence是方法的NodeJS。 NodeJS + MongoDB中有这种表达形式吗? 谢谢!
我希望我可以放过这个分贝的电话,但我客串是驱动程序数据库引擎的事情,没有什么更好的是可用的。谢谢。 – ooouuiii 2014-09-21 18:06:42
@ooouuiii - 我认为唯一的选择将是像这样的东西滚你自己的触发(S): http://danielweberonline.wordpress.com/2012/05/14/creating-triggers-for-mongodb/ – TMan 2014-09-23 03:35:48
哇,我不知道这个:),谢谢。目前我只是为了清晰而牺牲了这一呼叫,但对于未来的某些用例而言,这可能会很方便。我会看到,如果通过性能测试。也许另一种方式可能是整个插入到eval。在这种情况下,包含函数调用没有问题。但是这对于一些nosql注入来说是可以忍受的。 – ooouuiii 2014-09-23 17:32:33