mongo陣列長度 陣列內容 查詢
在網上關於mongo陣列查詢的太少了,現在貢獻一下
假設資料庫裡有一條這樣的資料
{
"name": "arrayTest",
"arrayKey": ["a","b"]
}
查詢 arrayKey長度是2的資料 :{arrayKey:{"$size":2}}
查詢arrayKey內容是 ["a","b"]的資料:{arrayKey:["a","b"]}
查詢arrayKey包含“a”的資料:{arrayKey:"a"}
如果是陣列巢狀陣列依然可以這麼查
{
"name": "arrayTest1",
"arrayKey": [
{"source": ["a" ] }
]
}
{
"name": "arrayTest2",
"arrayKey": [
{ "source": ["a", "b"]}
]
}
查詢子陣列source長度是2的資料:{"arrayKey.source":{"$size":2}},則會返回arrayTest1的資料
查詢子陣列source包含“a”的資料:{"arrayKey.source":"a"},以上兩條資料都會返回
相關推薦
mongo陣列長度 陣列內容 查詢
在網上關於mongo陣列查詢的太少了,現在貢獻一下 假設資料庫裡有一條這樣的資料 { "name": "arrayTest", "arrayKey": ["a","b"] } 查詢 arrayKey長度是2的資料 :{arrayKey:{"$size
編寫一個可以列印不同長度陣列內容的函式模板
#include<iostream> using namespace std; #define N 5 template<typename T> T print(T a[],int size) { for(int i=0;i<size;i++) { cout&
陣列的主元素查詢
描述 已知一個整數序列A=(a0, a1,…an-1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2…=apm=x 且m>n/2(0≤pk<n,1≤k≤m),則稱x為A的主元素。例如A=(0,5,5,3,5,7,5,5),則5為主元素;又如A=(0,5,5,3,
C++使用變數作為陣列長度
C++中一般是不能使用變數作為一個數組的長度的,必須使用常量。 這是因為陣列作為C++的內建資料型別,其空間分配在棧記憶體中,這部分空間的大小在編譯時就要確定,不能等到執行時再分配。常量的值在編譯時就能得到,而變數的值在執行時才能確定。 但是仍然有辦法使用變數作為陣列的長度:繞過棧記憶體
陣列中的二分查詢
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。兩種思路 一種是: 把每一行看成有序遞增的陣列, 利用二分查詢, 通過遍歷每一行得到答案, 時間複雜度是nlog
javascript常用陣列排序及二分查詢
1. 氣泡排序 基本思路:依次比較相鄰的兩個數的大小,若大數在前、小數在後,則交換兩個數的位置,依次比較直至全部資料從小到大排好序 function sort_bubble(arr) { var len = arr.length; for (var i = 0;
Java陣列排序及元素查詢2001
以下例項演示瞭如何使用sort()方法對Java陣列進行排序,及如何使用 binarySearch() 方法來查詢陣列中的元素, 這邊我們定義了 printArray() 方法來列印陣列: import java.util.Arrays; public class MainClass { publ
測試陣列長度
通過sizeof函式 sizeof函式只能返回陣列所佔的位元組數並不能直接返回陣列的長度 例如: int a[2]; cout<<sizeof(a)<<sizeof(a[0])<<sizeof(a[1]); 返回的數分別為 8 ,4 , 4
List陣列,string陣列,Dictionary字典三種contain方法的查詢速度
在生成隨機不重複數時要判斷生成的數是否已生成過,這時就要和原來生成的數進行比較是否有重複,有以下三種方法 1. list陣列採用contains()方法 2.string陣列採用contains()方法 3.Dictionary字典採用add方法,如果有重複插入失敗跳到catch方法 當基數
【JS】搜尋旋轉排序陣列 II #陣列 #二分查詢
假設按照升序排序的陣列在預先未知的某個點上進行了旋轉。 ( 例如,陣列 [0,0,1,2,2,5,6] 可能變為 [2,5,6,0,0,1,2] )。 編寫一個函式來判斷給定的目標值是否存在於陣列中。若存在返回 true,否則返回 false。 示例 1: 輸入: nums
【JS】兩數之和 II - 輸入有序陣列 #陣列 #雙指標 #二分查詢
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設每個輸入只對應唯一的答案,
solidity智慧合約[17]-動態長度陣列
動態長度陣列 動態長度陣列可以改變大小和長度 動態長度陣列的定義 uint[] grade=[1,2,3,4,5]; 返回動態長度陣列 123 function getArray() public view returns(uint[]){ &nbs
solidity智慧合約[16]-固定長度陣列
陣列 記憶體中的一片連續區域 定義 12 int[7] math;bytes2[3] bytesTest; 賦值 1 uint[5] public grade =[1,2,3,4,5];
vue中判斷陣列長度length報錯
{{pawnList.length>0 ? pawnList.name : ''}} 報錯:Error in render: "TypeError: Cannot read property 'length' of undefined" 解決辦法: {{pawnL
J-Different Integers-樹狀陣列-區間不同數查詢
https://ac.nowcoder.com/acm/contest/139/J 樹狀陣列學習:https://www.cnblogs.com/acgoto/p/8583952.html 題意:給你一個數組, q次詢問, 每次詢問都會有1個[l, r] 求 區
給定一個數組和一個數(該數不一定在陣列中),從數組裡刪掉這個數字,返回剩下的陣列長度。
給定一個數組和一個數(該數不一定在陣列中),從數組裡刪掉這個數字,返回剩下的陣列長度。 如:A[] = {1, 2, 3, 4, 5}要刪除數字 3,那麼返回陣列長度為 4。 親愛的小夥伴們,題目是不是很簡單呢? 提示:int removeElement(int
LeetCode-陣列移出元素與刪除重複項,返回操作後的陣列長度
移出元素 給定 nums = [3,2,2,3], val = 3, 函式應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2。 你不需要考慮陣列中超出新長度後面的元素。 記得返回的是陣列的長度 class Solution { public: int removeEl
P1972 [SDOI2009]HH的項鍊-樹狀陣列-區間不同數查詢
P1972 [SDOI2009]HH的項鍊 題意:一個整數N,表示項鍊的長度。N 個整數,一個整數M,表示 詢問的個數。 接下來M 行:每行兩個整數,L 和R(1 ≤ L ≤ R ≤ N),表示詢問的區間。最終輸出區間內不同數目的個數 思路:最初想法:預處理出,到每
C:char 陣列長度計算
字元素組長度是計算‘\0’,還是不計算'\0'; char chs[7] = {'a', 'c', '0', 'z', '3','d'}; -----長度為6 char chs[7] = {'a', 'c', '0', 'z', '3','d', '/0'}; ------長度為6