MongoDB存储功能通过控制台添加到哪里?

MongoDB存储功能通过控制台添加到哪里?,mongodb,console,performancecounter,Mongodb,Console,Performancecounter,我通过计数器集合和getNextSequence()函数创建了自动递增序列字段(与中的完全相同) 相应地,JavaScript函数存储在一个名为system.js的特殊系统集合中 但我的数据库中没有这样的集合(至少db.system.js.find()显示空结果): 那么getNextSequence函数真正存储在哪里呢?当您将函数定义为 function getNextSequence(name) { var ret = db.counters.findAndModify( {

我通过计数器集合和
getNextSequence()
函数创建了自动递增序列字段(与中的完全相同)

相应地,JavaScript函数存储在一个名为
system.js的特殊系统集合中

但我的数据库中没有这样的集合(至少
db.system.js.find()
显示空结果):


那么getNextSequence函数真正存储在哪里呢?

当您将函数定义为

function getNextSequence(name) {
var ret = db.counters.findAndModify(
       {
             query: { _id: name },
         update: { $inc: { seq: 1 } },
         new: true
       }
);
return ret.seq;
}
它仅为该特定会话定义,并且在会话结束后不可用。因此,它不会保存在任何地方

要使函数在会话间可重用,需要使用

db.system.js.save(
{
    _id: "getNextSequence",
    value: function(name){var ret = db.counters.findAndModify({
             query: { _id: name },
             update: { $inc: { seq: 1 } },
             new: true
       });
    return ret.seq;}
 })
保存函数后,可以通过以下方式进行交叉检查:

db.system.js.find()
你需要把这个叫做

loadServerScripts()

在整个课程中。它加载保存在system.js集合中的所有脚本


有关详细信息,请检查。

当您将函数定义为

function getNextSequence(name) {
var ret = db.counters.findAndModify(
       {
             query: { _id: name },
         update: { $inc: { seq: 1 } },
         new: true
       }
);
return ret.seq;
}
它仅为该特定会话定义,并且在会话结束后不可用。因此,它不会保存在任何地方

要使函数在会话间可重用,需要使用

db.system.js.save(
{
    _id: "getNextSequence",
    value: function(name){var ret = db.counters.findAndModify({
             query: { _id: name },
             update: { $inc: { seq: 1 } },
             new: true
       });
    return ret.seq;}
 })
保存函数后,可以通过以下方式进行交叉检查:

db.system.js.find()
你需要把这个叫做

loadServerScripts()

在整个课程中。它加载保存在system.js集合中的所有脚本

详情请查收