Tag: mongodb query

如何在GraphQL中插入(Array)字段列表进行变异查询

最近我开始研究GraphQL,我能够插入平面模式的数据没有任何问题,但是当涉及到一个数组数组我得到一个错误 { "errors": [ { "message": "Must be input type" } ]} 我正在testing我的查询使用邮递员,我的变异查询是 mutation M { AddEvent ( title: "Birthday event" description:"Welcome to all" media:[{url:"www.google.com", mediaType:"image" }] location:[{address:{state:"***", city:"****"}}] ) {title,description,media,location,created,_id}} 这是我的事件架构: EventType = new GraphQLObjectType({ name: 'Event', description: 'A Event', fields: () => ({ _id: { type: GraphQLString, description: 'The id of the event.', […]

mongoosefind/更新子文档

我有以下模式的文件夹 : var permissionSchema = new Schema({ role: { type: String }, create_folders: { type: Boolean }, create_contents: { type: Boolean } }); var folderSchema = new Schema({ name: { type: string }, permissions: [ permissionSchema ] }); 所以,对于每个页面我都可以拥有很多权限。 在我的CMS中有一个面板,我列出了所有的文件夹和他们的权限。 pipe理员可以编辑一个权限并保存。 我可以使用其权限数组轻松地保存整个文件夹文档,其中只有一个权限被修改。 但我不想保存所有的文档(真正的模式有更多的字段),所以我这样做: savePermission: function (folderId, permission, callback) { Folder.findOne({ _id: folderId }, function (err, […]

在MongoDB中使用mongoose批量插入

有没有任何select与mongoose执行大量upserts? 所以基本上有一个数组,并插入每个元素,如果它不存在或更新它,如果它存在? (我正在使用海关_ids) 当我使用.insert MongoDB返回错误E11000重复的键(这应该更新)。 插入多个新文档虽然工作正常: var Users = self.db.collection('Users'); Users.insert(data, function(err){ if (err) { callback(err); } else { callback(null); } }); 使用.save返回一个参数必须是单个文档的错误: Users.save(data, function(err){ … } 这个答案表明没有这样的选项,但它是特定于C#,也已经3岁了。 所以我想知道是否有任何select使用mongoose做到这一点? 谢谢!

mongoosesorting聚合的结果

解决这个mongodb(mongoose)问题我有很多困难。 有这个架构'推荐'(用户名,roomId,ll和date),其集合包含用户的build议。 我需要得到最推荐的房间列表(由roomId)。 下面是模式和我尝试过的mongoose查询解决scheme。 var recommendSchema = mongoose.Schema({ username: String, roomId: String, ll: { type: { type: String }, coordinates: [ ] }, date: Date }) recommendSchema.index({ ll: '2dsphere' }); var Recommend = mongoose.model('Recommend', recommendSchema); Recommend.aggregate( { $group: { _id: '$roomId', recommendCount: { $sum: 1 } } }, function (err, res) { if (err) return […]