我正在尝试使用猫鼬返回dbs集合的列表。我遵循此处列出的指示,但http://grokbase.com/t/gg/mongoose-
orm/122xxxr7qy/mongoose-get-a-list-of-all-
collections
。所以这是我的代码
var mongoose = require('mongoose');
//if (mongoose.connection.readyState == 0){//checks if already connected to the database
console.log("creating connection to the database");
var Config = require('../configs/config');
var config = new Config();
config = config.getConfig().db.dev;
if (mongoose.connection.readyState = 0 ) {
mongoose.connect("mongodb://austin:password1@paulo.mongohq.com:10023/test1");
console.log('mongoose readyState is ' + mongoose.connection.readyState);
}
var collection;
mongoose.connection.on('open', function (ref) {
console.log('Connected to mongo server.');
});
//trying to get collection names
mongoose.connection.db.collectionNames(function (err, names) {
console.log(names); // [{ name: 'dbname.myCollection' }]
module.exports.Collection = names;
});
唯一的问题是名称返回的是未定义的。因此,甚至可以仅使用香草猫鼬返回收藏列表吗?
连接后尝试运行您的集合名称功能。
mongoose.connection.on('open', function (ref) {
console.log('Connected to mongo server.');
//trying to get collection names
mongoose.connection.db.listCollections().toArray(function (err, names) {
console.log(names); // [{ name: 'dbname.myCollection' }]
module.exports.Collection = names;
});
})
问题内容: 我想让用户能够在我的Node应用程序中创建集合。我真的只见过猫鼬集合中的硬编码示例。有人知道是否有可能用猫鼬动态创建集合吗?如果是这样,那么一个例子将非常有帮助。 基本上,我希望能够在不同的集合中存储不同“事件”的数据。 IE事件:event1,event2,… eventN 用户可以在那里创建自己的自定义事件并将数据存储在该集合中。最后,每个事件可能有成百上千的行。我想让用户能够对他
问题内容: 我如何知道已保存数据的模型计数?有一种方法,但似乎无效。 是一个对象,调用哪个方法可以得到实数? 谢谢 问题答案: 下面的代码有效。注意countDocuments的使用。
问题内容: 我和猫鼬在一起的行为很奇怪。当我得到结果对象时,我看到该属性在这里,但是当我尝试仅获得所需的值时,它返回未定义。 奇怪的是,如果我使用该方法,它将起作用。我肯定错过了什么。有人对此有解释吗? 问题答案: 当MongoDB文档中存在字段但未在Mongoose模式中定义字段时,就会发生这种情况。 因此,请确保在您的架构中将其定义为 或者,即使未在架构中定义它也要访问它,请使用以下方法:
我想为用户设计一个清单。基本上,我尝试创建一个清单,其中包含一个用户id和一个包含每个项目编号的项目列表。 存在我的集合“项”的架构: 我不能设计一个库存集合,在那里我可以很容易地更新每个项目的数量并添加新项目。
问题内容: 这是问题的简化版本,但是基本上,我试图用mongoose打开2个mongodb连接,并且给我“试图打开未关闭的连接”。错误。 代码示例: 任何想法如何使其工作? 问题答案: 打开与数据库的默认连接。由于需要两个不同的连接,请使用。 API链接:http : //mongoosejs.com/docs/api.html#index_Mongoose- createConnection
问题内容: 例如,此代码导致创建名为“数据”的集合 并且此代码导致创建了一个名为“用户”的集合 谢谢 问题答案: 猫鼬通过使收藏名称复数来尝试变得聪明。但是,您可以强制将其设置为所需的值: