Tag: mongodb query

MongoDB不在date范围内

我想查询不在数据范围内的数据。 我正在阅读文档,发现$not和$nin ,但我不知道如何应用$not逻辑运算符和$nin运算符。 我试图包装$不,但它会抛出一个错误告诉 Unknown Top Level Operator: $nin or $not 我基本上想要查询获取date范围内的数据,我可以简单地使用$gt和$lt ,但我有一些复杂的数据。 我有两个字段startDate和endDate ,我应该使用这两个字段来根据用户select的数据范围来查询数据。 支持用户select2017-10-01 to 2017-10-10 , startDate会小于2017-10-01 , endDate在select用户的date范围之内(这个场景在查询时不应该被排除) ),同样我可能有一个相反的情况,如startDate在用户select的date范围内, endDate大于2017-10-10 。 我只是想排除在哪里 **`startDate`** and **`endDate`** < '2017-10-01' 和 **`startDate`** and **`endDate`** > '2017-10-10' 我试过的代码, $not: { $or: [{ $and: [ { "startDate" : { $lt: begin } }, { "endDate" : […]

查询抱怨缺less2dsphere-index,但它在那里

当我执行下面的代码(一个更大的例子,归结为要领) var mongoose = require("mongoose"); var LocationSchema = new mongoose.Schema({ userName: String, loc: { 'type': { type: String, enum: "Point", default: "Point" }, coordinates: { type: [Number] } } }) LocationSchema.index({ category: 1, loc: "2dsphere" }); var Location = mongoose.model("location", LocationSchema); var mongoDB = 'mongodb://user1:test@ds042417.mlab.com:42417/locationdemo'; mongoose.Promise = global.Promise; mongoose.connect(mongoDB, { useMongoClient: true }); var testUser […]

与javascript,游标方法的mongodb查询

我只是创build一个简单的用户login使用Express的MongoDB,骨干和节点。 我坚持查询数据库的用户凭据,并可靠地确定它们是否存在。 我在这里尝试两件事情: // When user posts to the url app.post('/save/user', function (req, res) { // create user object and store email from form var user = { email : req.body.email }; // in my collection users db.collection('users', function (err, collection) { // create a variable existence with the value, in lamens terms 'yes it […]

dynamic设置对象中的一个键

我试图在Node.js中为MongoDBdynamic构build一个查询。 创build它的函数是: app.set('searchTerm', function (field, str){ var i, searchTerm, keywords; keywords = str.split(' '); searchTerm = {field : str , _keywords : keywords}; return searchTerm; }); 我的问题是,构造的对象结束与string“领域”作为一个关键,而不是传递的参数。 我如何得到它来评估论据?

MongoDB配对和删除顺序数据库条目的最佳方法

好吧,让我们说我正在做一场盲目的战争游戏! 用户A和B有x个士兵 目前有0个DB文档。 用户A发送50名制作DB文档的士兵用户B在用户A后发送62名士兵! 这将创build一个新的数据库文档。 我需要最有效/可扩展的方式来查找用户A的文档,将其与用户B的文档进行比较,然后删除这两个文档! (当然返回结果后) 这是问题! 我可能有一万多名用户在相同的时间发送士兵! 如何成功完成上述过程而不重叠? 我正在使用MEANstack进行开发,所以我不仅限于在数据库中这样做,但显然WebApp必须100%安全! 如果您需要任何其他信息或解释,请让我知道,我会更新这个问题 -谢谢

如何在json数组mongoose中findjson对象

我有一个像这样的json对象的数组 [{firstname: "Tom", lastname: "Smith"}, {firstname: "Bob", lastname: "Smith"}] 我想find该数组中的元素是否位于用户对象的字段名称也包含json对象的数组。 用户对象的一个​​例子是 { "names": [{firstname: "joe", "lastname":"smith"}, {"firstname": "john", "lastname":"doe"}]} 我想知道是否有任何这些名称对象包含在一个名为list2的随机长度的数组中 [{firstname: "Tom", lastname: "Smith"}, {firstname: "Bob", lastname: "Smith"}, {firstname: "Joe", lastname: "Smith"}, {firstname: "Jordan", lastname: "Smith"}, {firstname: "John", lastname: "Smith"}, {firstname: "Bill", lastname: "Smith"}] 我将如何创build一个mongoose查询来做到这一点? 谢谢!

Node.js + mongoDB,mongojs $ in运算符错误

我正在用mongojs作为驱动程序运行mongoDB的node.js。 我有以下问题, 我尝试使用_id数组查询业务集合,如果我试图dynamic构build查询,如下所示,我得到长度为0的数组,这是错误的。 myFavoriteBusinessArray.forEach(function (iValue, j) { var temp = 'mongojs.ObjectId("' + iValue + '")'; objectIdArray.push(temp); }); var queryObject = { _id: { $in: objectIdArray } }; db1.db.business.find(queryObject, function (err, business) { if (err) res.json(err); res.json(business); }); } else { res.json({"login": "failed"}); } 如果我尝试以下,然后我得到正确的数组3回来。 db1.db.business.find({_id: { $in: [ mongojs.ObjectId("534fabb10648cd1c1b000002"), mongojs.ObjectId("52d664c15186ad103c000001"), mongojs.ObjectId("534ee1b4b51682bc30000002") ] }}, function (err, […]

如何在Mongoose / NodeJS的时间戳字段中计数不同的date项目?

我在我的NodeJS中使用Mongoose,并且有一个文档看起来像这样的集合 – var SomeSchema = new Schema({ date: { type: Date, default: new Date() }, some_item: { type: String } }); date字段包含时间部分的date(例如, 2014-05-09 09:43:02.478Z )。 2014-05-08如何获得给定date的不同项目数? 编辑:理想情况下,我想获得每个不同date的logging计数。

Mongo DB – 小写查找

我下面的find查询不能在小写的情况下工作。 如果集合中的值是大写的,而且我传递的是小写字母,则不会产生任何结果。 如何覆盖区分大小写的行为? User.find({ $or: [ { 'basicinformation.firstname': { '$regex': firstname + '.*' } }, { 'basicinformation.lastname': { '$regex': lastname + '.*' } } ] }

在Node.js中使用findAndModify错误

我有困难的时候使用findAndModify 。 这是我的代码和错误: var userSchema = new Schema({ incr: Number, practicename: String, basicinformation: [ { recordno: String, firstname: String, middlename: String, lastname: String, gender: String, dateofbirth: Date, dateofdeath: Date, socialsecurityno: String, status: String, updateddate: Date, updatedby: String } ], userSchema.statics.findAndModify = function (query, sort, doc, options, callback) { return this.collection.findAndModify(query, sort, doc, options, callback); } […]