我试图在我的Ubuntu 18.04 LTS上安装mongodb,但它有以下错误说
您可能希望运行'apt --fix-broken install'来纠正这些问题.以下软件包具有未满足的依赖项:mongodb-org:取决于:mongodb-org-server但它不会被安装取决于:mongodb-org-mongos但它不会被安装取决于:mongodb-org-tools但是它不会安装E:未满足的依赖项.尝试'apt --fix-broken install'没有包(或指定解决方案).umar @ umar-Lenovo-ideapad-320-15ISK:〜/ Desktop/portfolio/async-demo $ sudo apt-get install -y mongodb
我明白这背后的原因已经在他们的网站上提到了,明确地说
平台支持
MongoDB仅提供64位LTS(长期支持)Ubuntu版本的软件包; 例如,14.04 LTS(可信赖)和16.04 LTS(xenial).有关更多信息,请参阅支持的平台.
这些软件包可以与其他Ubuntu版本一起使用; 但是,它们不受支持.
那么如何在我最新的Ubuntu 18.04 LTS上安装mongodb?为了清楚起见,我列出了我为纠正错误而做的事情:我按照他们的官方网站安装了mongodb
1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
2. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
3. sudo apt-get update
4. sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
现在我在这里遇到错误:你可能想运行'apt --fix-broken install'来纠正这些错误.以下包具有未满足的依赖项:
我试过了,
apt --fix-broken install
Run Code Online (Sandbox Code Playgroud)
它没有用,我得到了一些线索
sudo apt -f install
Run Code Online (Sandbox Code Playgroud)
它也返回错误.
处理时遇到错误:/var/cache/apt/archives/mongodb-org-server_4.0.0_amd64.deb /var/cache/apt/archives/mongodb-org-mongos_4.0.0_amd64.deb/var/cache/apt /archives/mongodb-org-tools_4.0.0_amd64.deb E:子进程/ usr/bin/dpkg返回错误代码(1)
我认为主要问题是与版本的兼容性.所以基本上我有Ubuntu 18.04,我如何在这个版本上安装mongodb,这样我就可以毫无困难地工作.
我在这个数组上收到错误.数组是:
$array = array(
['parkingMode'] => array(
[0] => 123
[1] => 124
[2] => 266
),
['owlMode'] => array(
[0] => 124
[1] => 129
[2] => 266
)
);
Run Code Online (Sandbox Code Playgroud)
这怎么可能是正确的?
更新:
现在我提出我的问题.假设我有一个空数组
`$newArray = array("parkingMode"=>array(),
"owlMode"=>array()
);
Run Code Online (Sandbox Code Playgroud)
而我正在做的是推动foreach循环中的元素,如,
foreach($devices as $k => $v) {
$dev = $redis->hGetAll($v);
//print_r($dev);
if(array_key_exists('owlMode', $dev)){
if($dev['owlMode'] =='on'){
array_push($newArray["parkingMode"], $k);
}
}
if(array_key_exists('parkingMode', $dev)){
if($dev['parkingMode'] =='on'){
array_push($newArray["owlMode"], $k);
}
}
}
//print_r($newArray);
Run Code Online (Sandbox Code Playgroud)
那么为什么这会给我像格式的结果:
$array = array(
['parkingMode'] => array(
[0] => 123
[1] => …Run Code Online (Sandbox Code Playgroud) 请考虑以下字符串:
const str = "I am a good boy"
Run Code Online (Sandbox Code Playgroud)
在,索引7 = g At,indedx 10 = d但是当我使用时,splice方法为字符串,它接受两个参数即开始索引,结束索引,所以当我使用
const result = str.slice(7, 10)
console.log(result)
Run Code Online (Sandbox Code Playgroud)
我期待它返回,good但它只返回goo为什么如此,即使在索引10,d存在?
根据W3学校
slice()提取字符串的一部分,并在新字符串中返回提取的部分.
该方法采用2个参数:起始索引(位置)和结束索引(位置).
我有以下代码.
function a() {
function b() {
echo "I am b";
}
echo "I am a";
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能两次调用(),就像
a();
a();
Run Code Online (Sandbox Code Playgroud)
要么,
b();
a();
Run Code Online (Sandbox Code Playgroud)
这两个条件都会返回致命错误.但是,首先调用()然后多次调用b()没有任何问题.为什么会这样?
我有一个自定义帖子类型“产品”,我为“选择类别”字段创建了 4 个复选框选项,用户可以一次选择多个选项。出于某种原因,我没有使用分类法对产品进行分类。
因此,当我执行 meta_query 时,它不会产生任何结果。基本上,我已经为自定义帖子类型“产品”中的每个产品选择了类别,但是 ACF 将它的复选框值存储在数组中,并且 meta_query 无法整体搜索该数组。但是它可以从数组中搜索。我的代码如下:
$args = array(
'post_type' => 'fproduct',
'meta_query' => array(
array(
'key' => 'select_product_categories',
'value' => array('Indoor Games', 'Property Management'),
'compare' => 'IN',
),
),
);
// query
$wp_query = new WP_Query( $args );
echo "<pre>"; print_r($wp_query); echo "</pre>"; die;
Run Code Online (Sandbox Code Playgroud)
那么我如何搜索以便复选框可以工作,我也无法获取模板上的复选框值,因为它用于不同产品的帖子类型。