Tag: mongodb

无法读取mongo /节点中的收集数据

我正在尝试在nodeJs中的mongoDB,并与mongodb服务器上的数据库收集文件有问题。 服务器被设置为一个窗口服务,所以它启动并运行。 运行时,我得到了nodejs来连接它。 我做了模拟的例子,它的工作原理(我认为这是正确的设置)。 如果我想查看在nodejs中创build的集合,它将显示它们。 如果我去到mongodb服务器数据库(data \ db文件夹),我看到一个集合已经创build。 问题是当我打开另一个cmd.exe实例时,inputmongodb并想查看集合db.collections-2中是什么,返回的是NaN。 我可能做错了什么,或者有一个我不知道的文件丢失。 有人能告诉我,并解释我为什么得到NaN。 nodejs代码如下所示。 var MongoClient=require('Mongodb').MongoClient,format = require('util').format; var url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url,function(err,db){ if(err){ console.log(err); } else{ console.log("connected to", url ); } var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']}; var user2 = {name: 'modulus user', age: 22, roles: ['user']}; var user3 = […]

Mongoose.js findOne返回查询元数据

我正在试图在我的数据库上运行一个mongoose.findOne,但我得到意想不到的结果。我的查询是 const User = mongoose.model('User', {name: String, email: String, passwordHash: String, validation: String, validationCode: String, favorites: Array }) exports.findUser = function findUser(email){ const foundUser = User.findOne({email: email}, function(err, userObj){ if(err){ return err } else if (userObj){ return userObj } else{ return null } }) return foundUser } 然而,这返回以下数据(看似随机?),并没有我所要求的数据 Query { _mongooseOptions: {}, mongooseCollection: NativeCollection { […]

Mongoose:覆盖更新的数组属性

如何覆盖基于给定数组作为源文档的数组属性? 架构: var postSchema = new mongoose.Schema({ title: { type: String, required: true, index: { unique: true } }, content: { type: String }, tags: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Tag' }] }); 我现在有一个标签对象的ID数组,我想覆盖标签属性。 我现在遇到的问题是,它添加了新的标签,但它不会删除不在源数组中的标签。 我正在使用findOneAndUpdate执行更新,如下所示: // Pseudo code example Post.findOneAndUpdate({ _id: id }, { tags: ["id1…", "id2…"], {}, cb);

Mongoose无法连接到本地主机:MongoError:无法连接到服务器

我正在从Github https://github.com/MessagingBots/MessengerBot下载回购,我知道JS代码是好的。 我有一个configuration文件指示数据库的URL为“mongodb://127.0.0.1:27017 / messenger”。 (我还没有创build数据库) 我在Heroku上有节点应用程序,但Heroku Logs每次都在mongodb连接上失败。 2016-12-02T06:23:31.636339+00:00 app[web.1]: mongodb://127.0.0.1:27017/messenger 2016-12-02T06:23:31.672354+00:00 app[web.1]: CALLBACK URL IS 2016-12-02T06:23:31.672434+00:00 app[web.1]: https://cool-scrubland-89690.herokuapp.com/messages/receive/ 2016-12-02T06:23:31.683394+00:00 app[web.1]: students 2016-12-02T06:23:31.701863+00:00 app[web.1]: listening on port 3124 2016-12-02T06:23:31.702052+00:00 app[web.1]: Application running at port 48594 2016-12-02T06:23:31.717752+00:00 app[web.1]: 2016-12-02T06:23:31.717764+00:00 app[web.1]: /app/node_modules/mongoose/node_modules/mongodb/lib/server.js:261 2016-12-02T06:23:31.717766+00:00 app[web.1]: process.nextTick(function() { throw err; }) 2016-12-02T06:23:31.717767+00:00 app[web.1]: ^ 2016-12-02T06:23:31.718744+00:00 app[web.1]: MongoError: failed to […]

MongoDB / Mongoose – 按date查询对象数组

我有以下指标集合: { name: "Hello", values: [ { value: 2629, date: "2016-10-28T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee8" }, { value: 1568, date: "2016-10-29T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee7" }, { value: 1547, date: "2016-10-30T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee6" }, { value: 1497, date: "2016-10-31T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee5" }, { value: 3031, date: "2016-11-01T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee4" }, { value: 2559, date: "2016-11-02T07:00:00.000Z", _id: "58453abfef7aaa15ac1fdee3" }, { […]

WiredTiger,GridFS和Mongodb上传文件和最大文件大小

有关WiredTiger存储和MongoDB的三个问题。 我需要在数据库中存储可能超过16MB大小的(二进制)文件,现在我在WiredTiger网站上读到最大文件大小为512MB,但在Mongodb 插入方法中,它表示所有文档的最大大小应该是16MB ,那么在使用WiredTiger时,我能够存储大于16MB的文件吗? 我需要使用一个完整的文件,而不是其中的一部分(如video的stream媒体部分),是否可以使用GridFS? 我怎样才能在数据库中插入和查找文件? 我无法find有关如何使用WiredTiger的指南… 我是否必须从蒙哥马利语或蒙古语中做到这一点? 有没有办法用node.js编程?

Mongoose模式如何添加数组

我想知道如何在moongoose模式中添加一个string数组。 我有下面的代码,但它不工作: var message = new Schema({ topic: String, content: String, restriction:String, sender:String, reciever:String, users:[String], read:{type: String, default: 'no'}, like:{ type: Number, default: 0 }, created_at: {type: Date, default: Date.now} }); 我正在谈论users 。 你能帮我吗?

如何通过条件匹配子文档中的数组元素

我有以下Mongoose模式: EmployeeSchema: var EmployeeSchema = new Schema({ name : String, employeeDetailsId: { type: Schema.Types.ObjectId, ref: 'employeedetails' } }); EmployeeDetailSchema: var EmployeeDetailSchema = new Schema({ employeeId: { type: Schema.Types.ObjectId, ref: 'employee' }, primarySkills: [ { type: Schema.Types.ObjectId, ref: 'skills' } ], }); SkillsSchema: var SkillsSchema = new Schema({ name: { type: String, required: true } }); […]

将数组插入到文档的现有数组中的mongodb聚合

我在MongoDB中有一个文件,就像这样: { "_id" : "a", "array" : [ { "aa" : "11", "bb" : "22" } ] } 我想在上面的数组中插入一个数组,所以结果如下所示: {"_id":"a","array":[{"aa":"11","bb":"22","cc":[{mm:"11"},{mm:"22"}]}]} 我正在编写一个node.js程序并使用mongojs模块连接到mongodb。 我曾尝试使用db.collection.aggregate({"$unwind":"$name"}) ,但我不知道如何解决这个问题。

请求不要接收数据 – 表示js和mongo

我正在使用这个代码: app.post("/users", function(req, res) { db.collection(USERS_COLLECTION).insertOne(req.body , function(err, doc) { if (err) { handleError(res, err.message, "Failed to create new user."); } else { res.status(201).json(req.body); } }); }); 我试图把这个请求:localhost:8080 / users?firstName = foo&lastName = bar 但是当我在postman中尝试post请求时,它只返回一个id,并不会在数据库中插入params。 { "_id": "584f04eb141faa7df7fc4059" } 我该如何解决这个问题,以便它返回数据,或者我需要先创build一个模式,并检查它? 如果我能指出一个好的方向