Skip to main content

$unset not working in node (Mongoose) while working in mongosh

how come wouldn't Mongoose and Mongosh return the same answer?
In the Schema, I have user ID and IoT device (smart light). Goal that I am trying to achieve is to remove completely first item in "smart_light" section.
Using Mongosh code works fine, but Mongoose is not removing the item. No errors are thrown, just "{acknowledged: false}". Mongoose is used with Node.

Schema:

{
"UserID": "6276a2a6e59469e642801f4f",
"smart_light": {
    "1": {
        "Device_ID": "1",
        "Device_Details": {
            "Online_Status": true,
            "DeviceManufacturer": "Philips",
            "Model": "S-Li-7",
            "Serial_Number": "302504-519574",
            "Last_Update": {
                "Date": "2014-05-11 19:59:37",
                "Version": "V4",
                "Update_Pending": false
            },
            "Communication_Protocol_Set": [
                "Zigbee",
                "Zwave"
            ],
            "Spare_Parts": [
                "Bridge"
            ]
        },
        "Device_Status": {
            "Colour": "#08b8cd"
        }
    },
    "2": {
        "Device_ID": "2",
        "Device_Details": {
            "Online_Status": true,
            "DeviceManufacturer": "Philips",
            "Model": "S-Li-5",
            "Serial_Number": "136985-212439",
            "Last_Update": {
                "Date": "2011-08-16 03:45:29",
                "Version": "V2",
                "Update_Pending": true
            },
            "Communication_Protocol_Set": [
                "Zwave"
            ],
            "Spare_Parts": [
                "Bridge"
            ]
        },
        "Device_Status": {
            "Colour": "#4bf14b"
        }
    }
}

}

Mongosh:

db.iot_customer_devices.updateOne(
            {UserID: "6276a2a6e59469e642801f4f"}, 
            {"$unset":{"smart_light.1":""}});

Mongoose:

IoT_Customer_Device.updateOne(
    {UserID: "6276a2a6e59469e642801f4f"}, 
    {$unset: {"smart_light.1":""}}, 
    { safe: true, multi:true },
    function(err, result) {
    if (err) {
      console.log(err);
    } else {
     console.log(result);
    }}
    );
Via Active questions tagged javascript - Stack Overflow https://ift.tt/anWKjrH

Comments

Popular posts from this blog

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

The number of nodes and edges I calculated manually and by a method provided by networkx library dont match

I am trying to analyse a graph using networkx library in Python. I have implemented a function that returns the nodes and edges of that graph. After that I counted the number of nodes and edges by implementing the len() function for nodes and edges, which gave me 17 for both nodes and edges. However, when I used the method graph.number_of_nodes() of networkx library it gave me 53. My code: import pandas as pd import networkx as nx import matplotlib.pyplot as plt header_list = ["a","b","w"] E =pd.read_csv("aves-barn-swallow-contact-network.edges",sep=" ",header= None,names=header_list) # print(E.head()) # prints first few rows of the csv file G = nx.from_pandas_edgelist(E,"a","b",["w"]) nx.draw(G) plt.show() class GraphAnalyse: #finding nodes and edges def nodeEdge(self,Graph): nodes = Graph.nodes() edges = Graph.edges() ...