鍍金池/ 問答/ 數(shù)據(jù)庫(kù)問答
冷咖啡 回答

似乎這種語(yǔ)法實(shí)踐中行不通,(或許是版本限制),不過你說的//可以繞過空格或者當(dāng)注釋符,你可以用/!/內(nèi)聯(lián)注釋,像這種測(cè)試你都可以本地執(zhí)行你的注入語(yǔ)句
從網(wǎng)上匯集的一些姿勢(shì)不知能不能幫到你

吢丕 回答

還是用的$nin。把_id集合轉(zhuǎn)成LIst<ObjectId>配合$nin實(shí)現(xiàn)

在兩臺(tái)不同的虛擬機(jī)上操作吧。

一臺(tái)跑兩個(gè)MySQL可能會(huì)有問題。即便沒問題,不能保證你做的實(shí)驗(yàn)放在兩臺(tái)上也可以。

撥弦 回答

zh_CN.UTF-8用這個(gè)呢?

菊外人 回答

已經(jīng)自己想通了…別名是給查詢的表取的,我直接把一個(gè)select的結(jié)果取別名就跟直接在命令行里輸入一個(gè)表名,再寫個(gè)別名一樣,是肯定報(bào)錯(cuò)的。這樣用的話只有用子查詢的時(shí)候才能給select取別名。

吃藕丑 回答
  1. oplog 在 MongoDB 里是一個(gè)普通的 capped collection,對(duì)于存儲(chǔ)引擎來說,oplog只是一部分普通的數(shù)據(jù)而已。所以,在開啟復(fù)制集的時(shí)候,oplog應(yīng)該會(huì)在內(nèi)存里,因?yàn)閛plog會(huì)經(jīng)常性地被重放來達(dá)到數(shù)據(jù)同步的作用。
  2. 第二個(gè)問題搭車期待大?;卮?。
生性 回答

null就是null不是任何基本類型所以你怎么拿他與-1作比較?MySQL為了優(yōu)化所以null值不參與運(yùn)算,基礎(chǔ)知識(shí)不扎實(shí)啊大兄弟。

脾氣硬 回答

console 不是說的很清楚么

不二心 回答

搜了一些資料,應(yīng)該是沒有這種寫法。我做的就是從數(shù)據(jù)庫(kù)取的時(shí)候是按照第一個(gè)排序條件,拿出數(shù)據(jù)之后,自己又寫了一個(gè)排序的函數(shù),針對(duì)第二個(gè)條件進(jìn)行排序。

舉個(gè)栗子

// 文章表article
{
    _id: ObjectId("5a9fff8b9c15e1a37b54d615"),
    title: "2018年放假通知",
    date: ISODate(...),
}
// 用戶表users
{
    name: '張三',
    likes: [
        {articleId: ObjectId("5a9fff8b9c15e1a37b54d615"), title: "2018年放假通知"},
        {articleId: ..., title: ...}
    ]
}
{
    name: '李四',
    likes: [
        {articleId: ObjectId("5a9fff8b9c15e1a37b54d615"), title: "2018年放假通知"},
        {articleId: ..., title: ...}
    ]
}

當(dāng)你需要查詢一個(gè)用戶收藏了哪些文章的時(shí)候,顯然查找用戶就可以了,速度不會(huì)慢;
當(dāng)你需要查詢一篇文章都有誰(shuí)收藏的時(shí)候:

db.users.find({"likes.articleId": ObjectId("5a9fff8b9c15e1a37b54d615")})

只要在likes.articleId上有索引,也是直接命中索引的查詢,不會(huì)有性能問題。
不知道是不是你想問的問題。

哚蕾咪 回答

為什么呢? 我也遇到了,請(qǐng)問樓主解決了嗎?

尐懶貓 回答

提示你沒有配置數(shù)據(jù)庫(kù)信息,提示沒有連接到數(shù)據(jù)庫(kù)

賤人曾 回答
if(Array.isArray(_stateGoodsList)){
    _stateGoodsList.splice(...)
}

刪除數(shù)組元素

let arr = ['a', 'b', 'c']
// 刪除'c'
arr = arr.filter(i => {
    return i != 'c'
})
賤人曾 回答
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
var activeFile = exports.activeFile = function activeFile(state) {
  return state.openFiles.find(function (file) {
    return file.active;
  }) || null;
};

//================
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

exports.default = function () {
  return {
    currentProjectId: '',
    currentBranchId: '',
    currentMergeRequestId: '',
    changedFiles: [],
    endpoints: {},
    lastCommitMsg: '',
    lastCommitPath: '',
    loading: false,
    openFiles: [],
    parentTreeUrl: '',
    trees: {},
    projects: {},
    leftPanelCollapsed: false,
    rightPanelCollapsed: false,
    panelResizing: false,
    entries: {},
    viewer: 'editor',
    delayViewerUpdated: false
  };
};

http://babeljs.io/repl/

乖乖瀦 回答

這個(gè)我記得必須是做雙重查詢嵌套的……以前也碰上過類似需求,2表聯(lián)查但是后表數(shù)據(jù)需要做個(gè)排序什么的。試了很多方案都不行只能老老實(shí)實(shí)嵌套……

熊出沒 回答

我擦,5人關(guān)注話都不敢說嗎?樓上評(píng)論里評(píng)論完還踩我一下,至于嘛。。。

我假裝自問自答一下把,(其實(shí)樓主主要上次看到一個(gè)同學(xué)類似問題到回答,答的非常好,但是忘了在叫什么來著了

我擦,5人關(guān)注話都不敢說嗎?樓上評(píng)論里評(píng)論完還踩我一下,至于嘛。。。

我假裝自問自答一下把,(其實(shí)樓主主要上次看到一個(gè)同學(xué)類似問題到回答,答的非常好,但是忘了在叫什么來著了

Step 1. 篩選數(shù)據(jù)

多進(jìn)程【協(xié)程】去讀取篩選從庫(kù)用戶ID,設(shè)定好符合條件的策略,規(guī)避重復(fù)查詢,500W 在4核8G的機(jī)器上開20個(gè)進(jìn)程大概在了兩小時(shí)左右,撐死,我還沒試過,如果有親有相關(guān)壓測(cè)經(jīng)驗(yàn)。感謝指教,完成數(shù)據(jù)篩選,得到需要推送用戶480W,將480W用戶分組放入緩存庫(kù)【消息隊(duì)列】里

Step 2. 多進(jìn)程推送

開啟多進(jìn)程【協(xié)程】模型去事先分配好鍵值對(duì)的緩存庫(kù)【消息隊(duì)列】里拿數(shù)據(jù),然后分發(fā)給用戶

考慮問題

  1. 如何做好云控,例如運(yùn)營(yíng)MM不小心寫了錯(cuò)別字,推送出去,我想突然Stop,讓未推送到的部分用戶收不到
  2. 如何做好不用遍歷全表的舉措,定時(shí)備份?
不將就 回答

SELECT ... FOR UPDATE的WHERE中不帶主鍵,就是鎖全表了。不知道為啥你要FOR UPDATE。

入她眼 回答

update一下pip應(yīng)該就好了。解釋在這:https://stackoverflow.com/que...

枕頭人 回答
{* display the value of the cookie "username" ($_COOKIE['username']) *}
{$smarty.cookies.username}

https://www.smarty.net/docs/z...