Articles of mongodb

基于Node js的Portfolio CMS数据库

我对Node.js来说很新奇,而且我被卡住了一点。 有一个项目组合CMS出乎我的意料,实际上是Ghost的简单 启发我,你只是下载,它的工作,但我突然意识到在这种情况下,它可能无法正常工作。 据我所知,Ghost使用SQlight。 所以我的问题是,平台将处理自定义页面,所以使用将能够创build像WordPress的页面,将处理博客post,图片库和主题。 我正在考虑使用MongoDB,但我有一些问题。 所以人们将可以创build图像库,并将其作为简短的代码插入到页面(只是告诉),我的问题是。 MongoDB是否适合这种types的CMS? 图库的embedded数据是否会在未来造成问题或有任何限制? 图片库的例子 Model.Gallery { id: OjectId, name: Gallery name 1, CreatedBy: userId, images: [ {filename: 'image 1'}, {filename: 'image 2'}, {filename: 'image 3'}, ] } 或者你会推荐别的吗? 谢谢

Mongoose不会让我插入空值的数字?

我定义了下面的Mongoose模式: participantSchema = new Schema({ id: Number, email: String, survey: { type: Schema.Types.ObjectId, ref: 'Survey' }, created: { type: Date, "default": Date.now }, answers: [ { question: { type: Schema.Types.ObjectId, ref: 'Question' }, values: Array, question_id: Number, sub_id: Number } ] }); 当我尝试插入我的answers数组的下列值: [{ question_id: 60800, _id: 52f53345f06cf301f2a38465, values: [ 'c2' ] } { question_id: […]

在Windows 7上安装sails-mongo致命错误

我正在尝试安装https://www.npmjs.org/package/sails-mongo ,它的版本是0.9.6而不是0.9.7(最新版本)。 我在Windows 7上有最新的node.js(0.10.25 64位)和mongodb(2.4.9 64位) 。 C:\my_project\backend>npm install sails-mongo 无论如何,我得到了致命的错误: npm http GET https://registry.npmjs.org/sails-mongo/0.9.6 npm http 304 https://registry.npmjs.org/sails-mongo/0.9.6 npm http GET https://registry.npmjs.org/underscore/1.4.4 npm http GET https://registry.npmjs.org/underscore.string/2.3.1 npm http GET https://registry.npmjs.org/async/0.2.9 npm http GET https://registry.npmjs.org/mongodb npm http 304 https://registry.npmjs.org/underscore/1.4.4 npm http 304 https://registry.npmjs.org/underscore.string/2.3.1 npm http 304 https://registry.npmjs.org/async/0.2.9 npm http 304 https://registry.npmjs.org/mongodb npm http GET https://registry.npmjs.org/bson/0.2.5 […]

如何在compoundjs初始化期间从jugglingdb适配器获取本地mongodb客户端?

我正在使用compoundjs和使用jugglingdb的mongodb适配器。 我一直在检索和重用控制器中的本地mongodb客户端 ,通过执行以下操作: var db = compound.orm._schemas[0].client; 这很好,因为我可以使用mongodb支持的函数,比如.collection(name)和.find() 。 但是,当我为compoundjs创build初始化程序时, .client为空,但看起来像_schemas[0]不是。 例如: module.exports = function (compound) { var db = compound.orm._schemas[0].client; // _schemas[0] isn't empty as .client was reached. db.collection('collection'); // Throws: TypeError: Cannot call method 'collection' of undefined }; 如何从jugglingdb适配器中检索本地mongodb客户端,而无需自己重新创build连接?

MongoDb批量插入限制问题

我新与蒙戈和节点。 我正试图上传一个csv到MongoDB中。 步骤包括: 读csv。 将其转换成JSON。 把它推向MongoDB。 我使用'csvtojson'模块将csv转换为json并使用代码推送它: MongoClient.connect('mongodb://127.0.0.1/test', function (err, db) { //connect to mongodb var collection = db.collection('qr'); collection.insert(jsonObj.csvRows, function (err, result) { console.log(JSON.stringify(result)); console.log(JSON.stringify(err)); }); console.log("successfully connected to the database"); //db.close(); }); 此代码工作正常与csv高达4MB大小; 不仅如此,它不工作。 我试图安慰错误 console.log(JSON.stringify(err)); 它返回{} 注意:我的系统是32位的。 是否因为32位系统的文件限制为4MB? 我在一个场景中,我不能限制csv文件的大小和no.of属性(即代码将处理各种csv文件)。 那么如何处理呢? 我有没有可用的模块?

Mongo shell没有显示内容

我用nodejs和express创build了一个web应用程序。 我正在用蒙古语连接mongo db。 虽然我得到正确的数据在我的GET请求,当我试图看到在壳数据,我没有看到任何。 这里是日志: mongodb-win32-x86_64-2008plus-2.4.9\bin>mongod.exe –dbpath data\db Sun Feb 23 20:24:03.176 [initandlisten] MongoDB starting : pid=8736 port=27017 d bpath=data\db 64-bit host=asnegi-w7 Sun Feb 23 20:24:03.179 [initandlisten] db version v2.4.9 Sun Feb 23 20:24:03.180 [initandlisten] git version: 52fe0d21959e32a5bdbecdc6205 7db386e4e029c Sun Feb 23 20:24:03.181 [initandlisten] build info: windows sys.getwindowsversio n(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') […]

Node.js-Ejs-Mongojs堆栈上的“没有方法”forEach“TypeError”

我在app.js上有这个代码,这是一个callback“locale”集合中的所有内容: tester = function(callback) { db.locale.find({}, function(err, locale) { callback( null, locale ) }); }; 当“index”(主页)被访问时,这将设置“标题”variables,并将“locale”集合内容事先传递给“内容”variables“string化”的variables(如果我不知道,我得到[object],[目的]): app.get('/', function(req, res) { tester(function(err, locale) { res.render('index', {title: "This is a test server", content: JSON.stringify(locale)}); }); }); 而这个forEach在“index.ejs”视图中应该只返回“title”集合字段,结果是: <ul> <% content.forEach( function( item ){ %> <li><%= item.title %></li> <% }); %> </ul> 无论如何,问题是我得到一个“'TypeError'没有方法'forEach'”当我浏览页面..什么可能导致这种行为? 谢谢!

在一个到多个embedded式文档mongodb中添加一个条目

我是MongoDB的新手,遇到以下用例: 让我说我有我的MongoDB文件是这样的: { _id: "joe", name: "Joe Bookreader", numbers: [ { mobile: 741134217, }, { home: 123452411 } ] } 现在我需要两个执行两个操作: 添加一个新号码{office:112342282} 删除用户的家庭号码 我相信我们可以在Mongo中做到这一点,但我没有得到任何地方的语法,我也无法在MongoDB文档中find它。 PS我正在使用和尚图书馆这样做,僧侣具体的语法会有很大的帮助。 但否则也会​​帮助我!

不能使mongoose过期/ TTL工作

var mongoose = require('mongoose'), Cache, cache; mongoose.connect('mongodb://localhost:27017/test'); Cache = mongoose.model('Cache', mongoose.Schema({ value: {}, createdAt: {type: Date, expires: 3600} })); cache = new Cache({ createdAt: new Date(), value: {foo: 'bar'} }); cache.save(function(err, obj) { console.log(err, obj); process.exit(); }); 我试图让caching在一定的时间后被删除。 我等了3分多钟,我插入的文件根本没有被删除。 我错过了什么吗?

CSV到JSON转换错误

我使用csvtojson转换器以json格式转换。 var csvFileName = path; //path== filepath var csvConverter = new Converter(); csvConverter.on("end_parsed", function (jsonObj) { console.log('in json object', jsonObj); }); csvConverter.from(csvFileName); csvtojson转换器以这种格式转换。 { csvRows: [ { { 'id\tname\talias\tdescription\timages\tprice\tcompare_price\tcollections\tbrand\tquantity\tsku\tbarcode\tcategories\tpublish\tvariants\tstate\tavg_rating\tnum_reviews\tweight\tfree_product\toption_set': '525ba1b3f96404a56a000006\tbraclet12\tbraclet12\tundefined\t\t100\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\t\t\t\t\t\t\t\t' }]; 但我想用这种格式 – { csvRows: [ { id: '51f21e7c60c058bc54000001', name: 'dummy product', alias: 'dummy-product1111111111', description: 'Lorem Ipsumuuu', images: '', price: '55', compare_price: 'undefined', collections: 'undefined', […]