草庐IT

conditional_random

全部标签

Mongodb select with condition is selected result must in sub select query

你如何在MongoDB中进行嵌套选择,类似于SELECTidFROMtable1WHEREidIN(SELECTidFROMtable2) 最佳答案 MongoDB尚不具备进行允许此功能的子查询的能力。我确定它在JIRA中,但是我无法立即找到它。目前唯一的方法是实际选择表,迭代游标提取信息并将其用作$in查询的一部分,如@Bruno所示,如下所示:ids=[];for(iindb.c2.find({},{_id:1}){//Ihaveassumedid=_idids[ids.length]=i;//Thedefaultreturno

MongoDB : Advanced conditional query

我有以下文档列表:(该集合有100多个文档){name:'Tom',gender:'male'},{name:'Sandra',gender:'female'},{name:'Alex',gender:'male'}我想要的是只返回4条记录,其中2条是男性,2条是女性。到目前为止我已经试过了:db.persons.find({'gender':{$in:['male','female']},{$limit:4});这会按预期带来4条记录,但不能保证准确无误地包含2条男性和2条女性。有什么方法可以过滤文档以返回指定的列表并且不需要进行两个单独的数据库调用吗?提前致谢。

node.js - 风 sails JS : Select random records from MongoDB?

我是SailsJS框架的新手,我正在尝试编写一个小测验应用程序。每次测验,我的应用程序都会从​​问题集合中随机选择6个问题。SailsJS0.11、MongoDB3.6.8可以吗?我该怎么做?非常感谢 最佳答案 您可以使用skip和limit条件调用find方法。Question.count().then(count=>Question.find().limit(6).skip(parseInt(Math.random()*count))).then(questions=>questions.sort(()=>0.5-Math.ra

python - 有没有办法使用伪随机序列或哈希函数模拟队列的 python random.shuffle?

我正在构建一个基于任务队列的应用程序:它为多个异步连接的客户端提供一系列任务。不同之处在于,任务必须以随机顺序提供。我的问题是我现在使用的算法在计算上非常昂贵,因为它依赖于许多大型查询和从数据库传输。我有一种强烈的预感,有一种更便宜的方法可以达到相同的结果,但我不太清楚解决方案。你能想出一个聪明的办法来解决这个问题吗?这是我现在使用的(计算量大的)算法:当客户端查询新任务时...在数据库中查询“未完成”的任务将所有任务放在一个列表中打乱列表(使用random.shuffle)将第一个任务标记为“进行中”将任务参数发送给客户端完成当客户端完成任务时...6a。记录结果并将任务标记为“已完

sql - 从最好的行中返回随机行(即 : 100 rows -> best 10 -> get 5 random)

情况:一张有很多照片、分类和投票的表格。我目前正在这样做:SELECTn.nid,n.title,.......orderbyv.valuedesclimit0,5我想要的是在按选票对我的行进行排序之后获得一个随机结果集。现在,一个包含数百条记录的表为我提供了最好的5行。总是相同的5。这是相当重复的,但当然随机给出5行并不是最好的选择,因为并非所有行都有高质量的照片。有些可能不太好。我不想只是这样做:SELECTn.nid,......orderbyRAND()limit0,5我正在寻找的是这样的:SELECTn.nid,.....orderbyRAND(v.valuedesclimi

mysql - 升级到 Rails 4.2.0 : string literals in where conditions wrapped into quotation marks

在我的应用程序中将rails版本从4.1.8升级到4.2.0期间,我遇到了以下问题。where条件中的字符串文字现在额外包含在引号中,这然后成为查询字符串的一部分,不再提供有效结果。这仅发生在text类型的数据库字段中(varchar字段不受影响)。我正在使用MySQL数据库。>Table.where(column:'data')[08:19:20.822552]TableLoad(0.3ms)SELECT`table`.*FROM`table`WHERE`table`.`column`='\"data\"'现在,如果您有一行在列行中包含data值,则此条件将不再匹配(显然,“data

mysql - mysql 查询 : couple of conditions matching in the same column

我的mysql数据库中有一张名为“events”的表:+-----+-----------+------------------------------+------------+|ID|CATEGORY|NAME|TYPE|+-----+-----------+------------------------------+------------+|1|1|Concert|music||2|2|Basketballmatch|indoors||3|1|Theatherplay|outdoors||4|1|Concert|outdoors|+-----+-----------+----

php - SELECT rows WHERE 接下来的 n 行满足 CONDITIONS

假设我们有这个资源可用性表:+-----------+-----------------------------------------------------------+|date|obvious,thedate||timeslot|wehave12fixed2-hourtimeslotssothiswillbe1to12||r1|numberofresourcetype1availableduringthistimeslot||r2|same,forresourcetype2||r3|same,forresourcetype3|+-----------+-------------

mysql - 在 mysql 上使用 Limit random

我刚刚使用了这个查询SELECT*FROMquestionsORDERBYRAND()LIMIT20;在mysql数据库上,我有一个名为display的列(以及问题列),其中的值等于1。所以现在您可以在查询中看到我限制为20。我想更改值所有20显示=0。我知道这是查询updatetest3setdisplay=0whereid=11;但是这只是设置了一行的显示。对于第20行我该怎么做。提前致谢。 最佳答案 你可以这样做updatetest3setdisplay=0whereidin(selectidfromquestionsorde

Mysql 查询 where condition with Date 不等于 '0000-00-00'

我正在尝试编写一个mysql查询,其中where条件为(WHEREdate!='0000-00-00')。但是查询没有正确执行。WHEREdate!='0000-00-00' 最佳答案 首次将日期转换到char。然后尝试。WHERECAST(`date`ASCHAR(10))!='0000-00-00'或WHERE`date`!=0或WHEREUNIX_TIMESTAMP(`date`)!=0或WHERE`date`ISNOTNULL或WHEREYEAR(`date`)=0 关于Mysq