Tag: nosql

使用IN查询使用nodejs'cassandra-driver'准备好的查询

这是一个潜在的新手问题,但我无法在野外find答案。 我目前正在build立一个简单的用户事件日志这个表单(一些属性避免这个简单): CREATE TABLE events.by_hour ( level tinyint, /* 60 = FATAL, 10 = TRACE */ hour int, /* in YYYYMMDDHH format */ insertion_time timeuuid, userid TEXT, message TEXT, PRIMARY KEY ((type,hour),userid,insertion_time)) WITH CLUSTERING ORDER BY (userid ASC, insertion_time ASC); 我想做一个准备好的查询来获取所有的事件,任意过滤一个给定的用户在几个小时的过程中理想的一套水平。 我可以轻松构build查询单个级别和小时的查询: var cassandra = require('cassandra-driver'); var client = new cassandra.Client({contactPoints: ['127.0.0.1']}); var query = […]

查询条件丢失关键架构元素:validation错误

我正在试图使用下面的代码查询dynamodb : const AWS = require('aws-sdk'); let dynamo = new AWS.DynamoDB.DocumentClient({ service: new AWS.DynamoDB( { apiVersion: "2012-08-10", region: "us-east-1" }), convertEmptyValues: true }); dynamo.query({ TableName: "Jobs", KeyConditionExpression: 'sstatus = :st', ExpressionAttributeValues: { ':st': 'processing' } }, (err, resp) => { console.log(err, resp); }); 当我运行这个,我得到一个错误说: ValidationException: Query condition missed key schema element: id 我不明白。 我已经将id定义为jobs表的分区键,并且需要find所有处于processing状态的作业。

MongoDB:将元素添加到内部的json对象,而这两个键值都存储在variables中

我正在尝试用nodejs本地驱动程序更新mongo数据库中的文档。 最初它被插入像: matches { _id:2001, requester:"MITH", accepter:"NIKK", toss:"MITH", bat:"NIKK", scores:{"MITH":220}, status:0, won:"MITH" } 现在我需要更新文件,我需要插入一个新元素"NIKK":198分数对象,使其scores:{"MITH":220,"NIKK":198} 问题是关键只在一个variables中出现。 当我更新它不更新 下面是我正在尝试的代码 var _jsonMatch = {status:4}; var _scorepush = {} _scorepush[variablevalue] = 198; // variablevalue in reference above is NIKK var data = {"$set": _jsonMatch,"$push": {"scores":_scorepush} } mith.findAndModify({_id:mith.db.bson_serializer.ObjectID.createFromHexString(matchId)}, [], data, { upsert: true,new:true }, function(error, match){ if( error ) callback(error); […]

使用Redis更新sorting集

目前我正在尝试更新已sorting的集合成员。 看看文档,使用ZADD似乎应该更新成员,如果它的分数已经存在。 但是,使用此代码尝试更新成员时, db.zadd("users", parseInt(key, 10) + 1, JSON.stringify(newData)); ….即使乐谱已经存在,也会添加新的条目! 如何使用redis更新已sorting集的成员?

findAndModify()在mongoose中给予exception

我有一个以下代码来更新子集合字段中的文档,我得到exception后面的代码。 router.route('/user/:_id/host/:_id/accept/').post(function(req, res) { Host.findAndModify({ "query" : { "_id" : req.body.eventid, "joinees" : { "$elemMatch" : { "userid" : req.body.userid } } }, "update" : { "$set" : { "joinees.$.status_code" : 1 }, }, "new" : true, "upsert" : false }, function(err, host) { if (err) { console.log(err); res.json(err); } else { console.log("kanishka"); res.json(host); } […]

如何在elastic.js(elasticsearch)中计算具有相同值的字段?

我有一个社区的名单。 我需要创build聚合查询,它将统计所有具有相同标题的数据。 [ { "_id": "56161cb3cbdad2e3b437fdc3", "_type": "Comunity", "name": "public", "data": [ { "title": "sonder", "creationDate": "2015-08-22T03:43:28 -03:00", "quantity": 0 }, { "title": "vule", "creationDate": "2014-05-17T12:35:01 -03:00", "quantity": 0 }, { "title": "omer", "creationDate": "2015-01-31T04:54:19 -02:00", "quantity": 3 }, { "title": "sonder", "creationDate": "2014-05-22T05:09:36 -03:00", "quantity": 3 } ] }, { "_id": "56161cb3dae30517fc133cd9", "_type": "Comunity", […]

如何通过Promise重用MongoDB连接

我想重用MongoDB连接。 我知道如何在node.js中重用mongodb连接我想要使​​用Promises和Mongo驱动程序v2 目前我必须连接到数据库的每一个请求,使其缓慢。 这是我的代码 "use strict" var app = require('./utils/express')(); var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient; //Actually I 'am connecting to MongoLab var url = 'mongodb://localhost/my-mongo'; app.set('port', (process.env.PORT || 5000)); app.listen(app.get('port'), function () { console.log('ParkMe app is running on port', app.get('port')); }); app.get('/location/create', function(req,res,next){ MongoClient.connect(url).then(function(db) { return db.collection('parkme_parkingLots').find({}).toArray().then(function (docs) { return docs; }); […]

与Nosql DB的angular度

build议使用Angular作为前端,使用CouchDB / Cloudant或MongoDB作为数据库,因为这些数据库可以直接提供JSON数据。 如果我不使用Java或Node或PHP中的任何中间件,它会起作用吗? 我想使用Angular和任何nosql DB。

Mongo DB – 子集合?

我真的是新来的MongoDb,并与nodeJS和本地节点mongodb驱动程序使用它。 我对执行有怀疑。 我希望你能帮助我:我有这个“架构”,其中db.pages拥有我的网站的每个部分的configuration: db.pages = [ {name: 'contacts', settings:{…}}, {name: 'blog', settings:{…}, posts: "blogPosts"}, {name: 'media', settings: {…}, posts: "mediaPosts"} ] db.blogPosts = [ {title: 'post1', date: '2011-10-22', author:'me', content: '…'}, {title: 'post2', date: '2011-11-22', author:'me', content: '…'}, {………………………………………………………} ]; 我在这里做的是,在每个页面中,我定义是否有一个post集合,并在节点中,当我加载页面,我检查page.posts是否定义,如果是,加载适当的集合。 也许我错了,但是这看起来太关系了,所以我的想法是将blogPosts的内容直接作为pages集合的道具posts的值,如下所示: db.pages = [ {name: 'contacts', settings:{…}}, { name: 'blog', settings:{…}, posts: [ {title: […]

MongoDB的小数据集

如果我不打算有大的(> 1000项)集合,并且已经习惯了SQL,那么对于Node.js应用程序而不是传统的SQL数据库(如MySQL)使用MongoDB会有什么好处吗?